dec2bin function provides wrong answer

For example, when I type dec2bin(8), I expect the answer is 100b, instead the returned value in command window is actually 1000

2 Comments

Why 100b? Its correct
dec2bin(7)
ans = '111'
dec2bin(8)
ans = '1000'
dec2bin(15)
ans = '1111'
dec2bin(20)
ans = '10100'
Ah! Forgot the last bit. Silly me...
Thank you for the clarification!

Sign in to comment.

 Accepted Answer

So the binary representation of 8 is not 1000?
Let me see, 8 = 1*2^3 + 0*2^2 + 0*2^1 + 0*2^0.
I think you are mistaken.
dec2bin(8)
ans = '1000'
1*2^3 + 0*2^2 + 0*2^1 + 0*2^0
ans = 8
In fact, the number 100 in binary is the decimal 4.
1*2^2 + 0*2^1 + 0*2^0
ans = 4
Maybe you forgot about that least order (units) bit. Note that if binary numbers did not have that least order unit bit, then a binary number could never represent any odd number. And that in itself would be quite an "odd" thing.

1 Comment

Yes, indeed. Forgot about the last bit. Thank you so much for your help with this!

Sign in to comment.

More Answers (0)

Categories

Tags

Asked:

Xin
on 27 Oct 2022

Commented:

Xin
on 27 Oct 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!