dec2bin function provides wrong answer

10 Ansichten (letzte 30 Tage)
Xin
Xin am 27 Okt. 2022
Kommentiert: Xin am 27 Okt. 2022
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
KALYAN ACHARJYA
KALYAN ACHARJYA am 27 Okt. 2022
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
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 Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by