首先我们有一个 b i t bit bit位的二进制数的所有组合构成的数组 (即 [ 1 , 2 b i t ) [1,2^{bit}) [1,2bit)的所有数)
其组合所有方案数为 l e n = 2 b i t len=2^{bit} len=2bit
则我们从小到大求每个数的二进制翻转的数
公式: r e v e r s e [ x ] = ⌊ r e v e r s e ⌊ x 2 ⌋ 2 ⌋ + ( x ( m o d 2 ) ) ∗ ( l e n 2 ) reverse[x]=\lfloor \frac{reverse \lfloor \frac{x}{2} \rfloor}{2} \rfloor+(x\pmod2)*(\frac{len}{2}) reverse[x]=⌊2reverse⌊2x⌋