
出典:公益社団法人 日本技術士会「技術士第一次試験 過去問題」
整数を8ビットの2の補数表現で表すとき、左シフトによる2倍、符号反転、加算のオーバーフロー、表現できる範囲、最小値に関する記述のうち最も適切なものを選ぶ問題。
8ビットの2の補数表現に関する5つの記述のうち、最も適切なものを選ぶ問題。
① 8ビットの2の補数: 範囲は−128〜127。符号反転=全ビット反転+1。1ビット左シフト=2倍
② ②は「+1」が抜けている。③は117+12=129で127を超えオーバーフロー。④は上限が127。⑤11111111は−1(最小は10000000=−128)
③ ①
2の補数表現で、値を2倍にするには、オーバーフローが起こらない限り、1ビット左シフト(下位に0を補う)で実現できる。したがって①が最も適切である。
nビットの2の補数表現の範囲は -2^(n-1) 〜 2^(n-1)-1(8ビットなら -128〜127)。符号反転は全ビット反転+1。左シフトは2倍、算術右シフトは1/2倍(符号ビットを保つ)。
キーワード: 2の補数表現、算術シフト、オーバーフロー、符号付き整数、8ビット、数値表現、情報工学部門
同じ問題が計2回出題されています(平成28年度、令和7年度)。