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
Vincenzo Librandi, Table of n, a(n) for n = 0..10000
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.
a(n) = floor(A030101(n+65536)/2). - Reinhard Zumkeller, Jan 12 2013
MAPLE
a:= n-> Bits[Join](ListTools[Reverse](Bits[Split](n, bits=16))):
seq(a(n), n=0..37); # Alois P. Heinz, Nov 28 2024
MATHEMATICA
Table[FromDigits[Reverse[IntegerDigits[n, 2, 16]], 2], {n, 0, 50}] (* T. D. Noe, Oct 09 2012 *)
IntegerReverse[Range[0, 127], 2, 16] (* Paolo Xausa, Nov 28 2024 *)
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)
-- Reinhard Zumkeller, Jan 12 2013
CROSSREFS
KEYWORD
nonn,base,fini
AUTHOR
M. F. Hasler, Oct 07 2012
STATUS
approved