|
|
A217589
|
|
Bit reversed 16-bit numbers.
|
|
2
|
|
|
0, 32768, 16384, 49152, 8192, 40960, 24576, 57344, 4096, 36864, 20480, 53248, 12288, 45056, 28672, 61440, 2048, 34816, 18432, 51200, 10240, 43008, 26624, 59392, 6144, 38912, 22528, 55296, 14336, 47104, 30720, 63488, 1024, 33792, 17408, 50176, 9216, 41984
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
0,2
|
|
COMMENTS
|
The 16-bit analog of the 8-bit version A160638, see there for further links and information.
An involutive (i.e., equal to its own inverse) permutation of the numbers 0,...,65535.
|
|
LINKS
|
|
|
FORMULA
|
a(a(n))=n.
a(m)+a(n)=a(m+n) whenever n & m = 0, where "&" is binary bit-AND, i.e., whenever m and n have no (1-)bits in common.
a(n) is even for all n < 2^15 = a(1) and odd for all larger n.
|
|
MATHEMATICA
|
Table[FromDigits[Reverse[IntegerDigits[n, 2, 16]], 2], {n, 0, 50}] (* T. D. Noe, Oct 09 2012 *)
|
|
PROG
|
(PARI) a(n)=sum(i=0, 15, bittest(n, 15-i)<<i)
(Haskell)
import Data.Bits (testBit, setBit)
import Data.Word (Word16)
a217589 :: Word16 -> Word16
a217589 n = rev 0 0 where
rev 16 y = y
rev i y = rev (i + 1) (if testBit n i then setBit y (15 - i) else y)
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn,base,fini
|
|
AUTHOR
|
|
|
STATUS
|
approved
|
|
|
|