For example, when I type dec2bin(8), I expect the answer is 100b, instead the returned value in command window is actually 1000

댓글 수: 2

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일

0 개 추천

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개)

태그

질문:

Xin
2022년 10월 27일

댓글:

Xin
2022년 10월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by