論理回路
2の補数表現の数どうしの加算で、オーバーフロー(桁あふれ)が起きたことを判定する条件として正しいものはどれか。
- A最上位ビットへの桁上げと、最上位ビットからの桁上げが異なるとき
- B結果が0になったとき
- C最下位ビットの和が1になったとき
答えと解説を見る
正解:A. 最上位ビットへの桁上げと、最上位ビットからの桁上げが異なるとき
2の補数の加算では、正の数どうしを足して負の結果になったり、負の数どうしを足して正の結果になったりしたときにオーバーフローです。これは、最上位ビットに入る桁上げと最上位ビットから出る桁上げが異なることで判定できます(両者のXORが1)。
- A. 正しい。最上位ビットへの桁上げと最上位からの桁上げが異なるときです。
- B. 結果が0になることはオーバーフローを意味しません。
- C. 最下位ビットはオーバーフローの判定には関係しません。