Find out number of bits needed to represent a positive integer in binary?
10 views (last 30 days)
Show older comments
How to compute the bit length of a positive integer-the number of bits to represent a positive integer. For example, we have:
integer bits
0 1
1 1
2 2
3 2
4 3
5 3
6 3
7 3
8 4
9 4
How to compute the bit length of an arbitrary large integer?
0 Comments
Accepted Answer
More Answers (3)
Bruno Luong
on 9 Jan 2021
>> I=0:9
I =
0 1 2 3 4 5 6 7 8 9
>> n=nextpow2(I+1)
n =
0 1 2 2 3 3 3 3 4 4
0 Comments
Tamamo Nook
on 9 Jan 2021
Try this
integer=5; % Integer that you wanna calculate the binary bits
bits=log2(integer);
if integer==0;
bits=1
elseif bits==floor(bits);
bits=bits+1
else
bits=ceil(bits)
end%if
0 Comments
Walter Roberson
on 9 Jan 2021
ceil(log2(X+1))
Does not work for 0, but 0 is not a positive integer.
1 Comment
Bruno Luong
on 9 Jan 2021
Edited: Bruno Luong
on 9 Jan 2021
I would argue it is still correct. You need no more than 0 bit to store 0. After all the bits are implicit to be 0s beyong the explcit interval.
>> polyval([],2) % 0 byte
ans =
0
>> polyval([1],2)
ans =
1
>> polyval([1 0],2)
ans =
2
>> polyval([1 1],2)
ans =
3
>>
See Also
Categories
Find more on Numeric Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!