離散数学 (全109問中93問目)
No.93
負数を2の補数で表す8ビットの数値がある。この値を10進数で表現すると-100である。この値を符号なしの数値として解釈すると,10進数で幾らか。
出典:平成17年春期 問3
- 28
- 100
- 156
- 228
分類
テクノロジ系 » 基礎理論 » 離散数学
正解
ウ
解説
2の補数は、2進数で負数を表現する方法の一つです。ある正の数の2の補数を求めるには、すべてのビットを反転して1を加えます。
まず、-100を2の補数表現で表します。
10進数100を2進数8ビットに基数変換すると"01100100"なので、100の負数である-100は、このビット列を反転したものに1を加えて表現することになります。
01100100
↓(全ビット反転)
10011011
↓(1を加える)
10011100
以上より、10進数-100を2の補数で表現したビット列は"10011100"であるとわかります。後は、この値を符号なしの数値として解釈して10進数にするだけです。
27+24+23+22
=128+16+8+4
=156
したがって答えは「156」です。
まず、-100を2の補数表現で表します。
10進数100を2進数8ビットに基数変換すると"01100100"なので、100の負数である-100は、このビット列を反転したものに1を加えて表現することになります。
01100100
↓(全ビット反転)
10011011
↓(1を加える)
10011100
以上より、10進数-100を2の補数で表現したビット列は"10011100"であるとわかります。後は、この値を符号なしの数値として解釈して10進数にするだけです。
27+24+23+22
=128+16+8+4
=156
したがって答えは「156」です。