From: Gareth McCaughan <gareth.mccaughan@pobox.com>
In general, perhaps we "should" adopt the convention that a positive number ends with an infinite string of 0s, and a negative number ends with an infinite string of 1s; then negation is just bitwise complement, and reversal commutes with negation.
Well, it's the "true meaning of two's complement." +1 = ...001.000... = ...000.111... +0 = ...000.000... = ...111.111... = -0 -1 = ...111.000... = ...110.111... In each case, the representation the left is just the "rounding up" of the representation on the right. So two's-complement notation just means choosing the rounded-up representation. But, I agree with Gareth that when reversing negative number, we "should" work in the form on the right. But we can express the inputs and outputs in the form on the left.
From: Eugene Salamin <gene_salamin@yahoo.com>
The proper definition of bit-reversal depends on the application for which it is needed.? In the case of Fast Fourier Transform, the index is an N-bit integer that may be regarded as a modulo 2^N pointer into the numeric array of length 2^N.? It is automatically twos-complement.? Here the proper bit reversal consists of reversing all N bits, including leading zeros.
You could reflect around the binary point, then multiply by 2^N. We "should" say these are the "correct" way. Or, you could divide by 2^(N/2), reflect, and multiply by 2^(N/2), by analogy with reflecting space around a point other than the origin...if only you knew N was even... Gee, what's the value of the polynomial made out of the reversed bits of the square root of two? --Steve