A053644 Most significant bit of n, msb(n); largest power of 2 less than or equal to n; write n in binary and change all but the first digit to zero.
0, 1, 2, 2, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64
Offset: 0
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 0..10000
- N. J. A. Sloane, Transforms
- Ralf Stephan, Some divide-and-conquer sequences ...
- Ralf Stephan, Table of generating functions
Crossrefs
See A000035 for least significant bit(n).
This is Guy Steele's sequence GS(5, 5) (see A135416).
Equals for n >= 1 the first right hand column of A160464. - Johannes W. Meijer, May 24 2009
Diagonal of A088370. - Alois P. Heinz, Oct 28 2011
Programs
-
Haskell
a053644 n = if n <= 1 then n else 2 * a053644 (div n 2) -- Reinhard Zumkeller, Aug 28 2014 a053644_list = 0 : concat (iterate (\zs -> map (* 2) (zs ++ zs)) [1]) -- Reinhard Zumkeller, Dec 08 2012, Oct 21 2011, Oct 17 2010
-
Magma
[0] cat [2^Ilog2(n): n in [1..90]]; // Vincenzo Librandi, Dec 11 2018
-
Maple
a:= n-> 2^ilog2(n): seq(a(n), n=0..80); # Alois P. Heinz, Dec 20 2016
-
Mathematica
A053644[n_] := 2^(Length[ IntegerDigits[n, 2]] - 1); A053644[0] = 0; Table[A053644[n], {n, 0, 74}] (* Jean-François Alcover, Dec 01 2011 *) nv[n_] := Module[{c = 2^n}, Table[c, {c}]]; Join[{0}, Flatten[Array[nv, 7, 0]]] (* Harvey P. Dale, Jul 17 2012 *)
-
PARI
a(n)=my(k=1);while(k<=n,k<<=1);k>>1 \\ Charles R Greathouse IV, May 27 2011
-
PARI
a(n) = if(!n, 0, 2^exponent(n)) \\ Iain Fox, Dec 10 2018
-
Python
def a(n): return 0 if n==0 else 2**(len(bin(n)[2:]) - 1) # Indranil Ghosh, May 25 2017
-
Python
def A053644(n): return 1<
Chai Wah Wu, Jul 27 2022 -
Scala
(0 to 127).map(Integer.highestOneBit()) // _Alonso del Arte, Feb 26 2020
Formula
a(n) = a(floor(n / 2)) * 2.
a(n) = 2^A000523(n).
a(0) = 0, a(1) = 1 and a(n+1) = a(n)*floor(n/a(n)). - Benoit Cloitre, Aug 17 2002
G.f.: 1/(1 - x) * (x + Sum_{k >= 1} 2^(k - 1)*x^2^k). - Ralf Stephan, Apr 18 2003
a(n) = Sum_{k = 1..n} (floor(2^k/k) - floor((2^k - 1)/k))*A000010(k). - Anthony Browne, Jun 17 2016
a(2^m+k) = 2^m, m >= 0, 0 <= k < 2^m. - Yosu Yurramendi, Aug 07 2016
Comments