dec2bin function provides wrong answer

9 views (last 30 days)
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
KALYAN ACHARJYA
KALYAN ACHARJYA on 27 Oct 2022
Why 100b? Its correct
dec2bin(7)
ans = '111'
dec2bin(8)
ans = '1000'
dec2bin(15)
ans = '1111'
dec2bin(20)
ans = '10100'
Xin
Xin on 27 Oct 2022
Ah! Forgot the last bit. Silly me...
Thank you for the clarification!

Sign in to comment.

Accepted Answer

John D'Errico
John D'Errico on 27 Oct 2022
Edited: John D'Errico on 27 Oct 2022
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
Xin
Xin on 27 Oct 2022
Yes, indeed. Forgot about the last bit. Thank you so much for your help with this!

Sign in to comment.

More Answers (0)

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!