habe den C-Code mal etwas "vereinfacht"... das kannst du nun 1:1 in Delphi umsetzen
int i = 0;
int j = 1;
while(j < (n - 1))
{
int k = n >> 1;
i ^= k;
while(k > i){
i ^= k;
k >>= 1;
}
if(j < i) {
const int32_t x0r = ar[j];
const int32_t x0i = ai[j];
ar[j] = ar[i];
ai[j] = ai[i];
ar[i] = x0r;
ai[i] = x0i;
}
j++;
}