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 commentaires

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

Connectez-vous pour commenter.

 Réponse acceptée

John D'Errico
John D'Errico le 27 Oct 2022
Modifié(e) : John D'Errico le 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 commentaire

Xin
Xin le 27 Oct 2022
Yes, indeed. Forgot about the last bit. Thank you so much for your help with this!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by