IT
大學
已解決

上の8桁の二進数が−16になるのかわかりません。

僕の考えでは最上位ビット1は符号ビットでそれ以下のビット列1110000が数値を表す。
(1110000)2=(2^6+2^5+2^4)10=(112)10
(上式のカッコの外の数値は進数を表すことにする)

結局、符号ビットも合わせると−16ではなく−112という計算になります。

よろしくお願いします。

解答

✨ 最佳解答 ✨

数の格納方法として、それはそれでアリかと思いますが、MSBが符号を表す場合、残りの実部はその2の補数を格納しておくことにより、マイナス値も加算と同じ手順(加算回路)同じロジックで計算出来るメリットがあるため、こういう独特の格納をしていると記憶しています。
前後の説明が載って無いので推測ですが、確かそんな感じだったと記憶しています。

Itsuki.S

納得いきました!
計算したらMSB以外のビットには16の補数が格納されていました!
スッキリしましたありがとうございます!

留言
您的問題解決了嗎?

看了這個問題的人
也有瀏覽這些問題喔😉