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 Kommentare

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

John D'Errico
John D'Errico am 27 Okt. 2022
Bearbeitet: John D'Errico am 27 Okt. 2022

0 Stimmen

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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Startup and Shutdown finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

Xin
am 27 Okt. 2022

Kommentiert:

Xin
am 27 Okt. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by