dec2bin function provides wrong answer

11 次查看(过去 30 天)
For example, when I type dec2bin(8), I expect the answer is 100b, instead the returned value in command window is actually 1000
  2 个评论
KALYAN ACHARJYA
KALYAN ACHARJYA 2022-10-27
Why 100b? Its correct
dec2bin(7)
ans = '111'
dec2bin(8)
ans = '1000'
dec2bin(15)
ans = '1111'
dec2bin(20)
ans = '10100'
Xin
Xin 2022-10-27
Ah! Forgot the last bit. Silly me...
Thank you for the clarification!

请先登录,再进行评论。

采纳的回答

John D'Errico
John D'Errico 2022-10-27
编辑:John D'Errico 2022-10-27
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 个评论
Xin
Xin 2022-10-27
Yes, indeed. Forgot about the last bit. Thank you so much for your help with this!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by