login
This site is supported by donations to The OEIS Foundation.

 

Logo


Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A160638 Bit-reversed 8-bit binary numbers. 3
0, 128, 64, 192, 32, 160, 96, 224, 16, 144, 80, 208, 48, 176, 112, 240, 8, 136, 72, 200, 40, 168, 104, 232, 24, 152, 88, 216, 56, 184, 120, 248, 4, 132, 68, 196, 36, 164, 100, 228, 20, 148, 84, 212, 52, 180, 116, 244, 12, 140, 76, 204, 44, 172, 108, 236, 28, 156 (list; graph; refs; listen; history; text; internal format)
OFFSET

0,2

COMMENTS

This sequence is found in computer programs that need to reverse the bits in a byte, typically during data compression or other bit-level encoding. a(n) is its own inverse: a(a(n)) = n.

A permutation of the integers 0-255. - Jon Perry, Oct 06 2012

a(n) is even for 0 <= n< 128 and odd for n <= 128 < 256. - Jon Perry, Oct 06 2012

a(m) + a(n) = a(m+n) when the binary representations of m and n have no bits in common. - Jon Perry, Oct 06 2012

REFERENCES

Henry S. Warren, Hacker's Delight, Addison-Wesley, 2002, pages 101-106.

LINKS

Russ Cox, Table of n, a(n) for n = 0 .. 255 (full sequence)

Sean Anderson, Bit Twiddling Hacks

M. Beeler, R. W. Gosper, and R. Schroeppel, HAKMEM (MIT AI Memo 239, Feb. 29, 1972), Item 167.

FORMULA

a(n) = floor(A030101(n+256)/2). - Reinhard Zumkeller, Jan 12 2013

EXAMPLE

n = 1 = 00000001 binary, so a(1) = 10000000 binary = 128.

n = 29 = 00011101 binary, so a(29) = 10111000 binary = 184.

MATHEMATICA

a[n_] := FromDigits[PadLeft[IntegerDigits[n, 2], 8] // Reverse, 2]; Table[a[n], {n, 0, 255}] (* Jean-Fran├žois Alcover, Dec 26 2015 *)

PROG

(C) int a = 0; for(int i=0; i<8; i++) if(n & (1<<i)) a |= 1<<(7 - i);

(PARI) A160638(n)=binary(n+256)*vector(9, n, 2^n)~\4  \\ - M. F. Hasler, Oct 07 2012

(PARI) A160638(n)=sum(i=0, 7, bittest(n, 7-i)<<i)  \\ - M. F. Hasler, Oct 07 2012

(Haskell)

import Data.Bits (testBit, setBit)

import Data.Word (Word8)

a160638 :: Word8 -> Word8

a160638 n = rev 0 0 where

   rev 8 y = y

   rev i y = rev (i + 1) (if testBit n i then setBit y (7 - i) else y)

-- Reinhard Zumkeller, Jan 12 2013

CROSSREFS

Cf. A217589.

Sequence in context: A010369 A121374 A252487 * A188829 A172532 A173779

Adjacent sequences:  A160635 A160636 A160637 * A160639 A160640 A160641

KEYWORD

base,easy,fini,full,nonn,nice

AUTHOR

Russ Cox, May 21 2009

STATUS

approved

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recent | More pages
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy .

Last modified June 27 11:25 EDT 2017. Contains 288788 sequences.