Reversão de números inteiros
A permutação de reversão de dígitos, em particular permutação de reversão de bits, é uma técnica de reordenamento utilizado em alguns algoritmos de transformada rápida de Fourier.
Defina uma função que gere a permutação de reversão de grau .
In[1]:=

reversalperm[k_, b_] := IntegerReverse[Range[0, b^k - 1], b, k] + 1;
Gere a permutação de reversão de bits para listas de comprimento .
In[2]:=

Table[reversalperm[k, 2], {k, 0, 5}]
Out[2]=

Gere a permutação de reversão de dígitos de base 3 para listas de 9 elementos.
In[3]:=

reversalperm[2, 3]
Out[3]=

Represente essas trocas.
In[4]:=

segment[{p1_, p2_}] := {PointSize[Large], Point[{p1, p2}],
Line[{p1, p2}], Text[Last[p1], p1 - {1/2, 0}],
Text[Last[p2], p2 + {1/2, 0}]};
In[5]:=

With[{k = 2, b = 3}, Graphics[
segment /@
Thread[{Thread[{0, Range[b^k]}], Thread[{b^k, reversalperm[k, b]}]}]
]]
Out[5]=
