dポイントプレゼントキャンペーン実施中!

次の加算(2進数4ビット)でオーバーフローが生じるか,判
定せよ(表記は全て2進数).
A) 0111 + 1111
B) 1110 + 1100
C) 0011 + 0110
D) 1011 + 1100

この問題の開放を教えてください。

質問者からの補足コメント

  • 解法です。

      補足日時:2021/11/07 23:38

A 回答 (4件)

解法も何も、足し算を実行してみればよいだけ。



A) 0100 + 1111 = 1 0011   ←オーバーフローする

B) 1110 + 1100 = 1 1010   ←オーバーフローする

C) 0011 + 0110 = 1001   ←オーバーフローしない

D) 1011 + 1100 = 1 0111   ←オーバーフローする

「オーバーフロー」の意味が分かっているのですか?
「4ビット」から桁あふれするかどうか、つまり5ビット目に繰り上がりが発生するかどうか、ということです。

「4ビット分」のレジスターしかない場合には、「5ビット目」は行き場がなくて消滅します。
その性質を利用して、「2の補数による負数表記」ということが行われます。
    • good
    • 0

0121を繰上げしても良い



0201

1001となる
    • good
    • 0

A, B, Dは計算しなくても見ただけでもわかりますよね


Aは1111なんだからそこから何を加算したって0以外はすべてオーバーフロー
B頭のビットが1どうしなので足し算したら1000+1000でも16になりオーバーフロー
Dも頭の二つが1同士なので16以上が確定してオーバーフロー

残りはCだけです
2進数を10進数にする計算です
ビットが1つ経っている場合
1*2^3 1*2^2 1*2^1 1*2^0となる
つまり C)の0011 + 0110 = 0121は
0*2^3+1*2^2+2*2^1+1*2^0となる

計算はご自身でやってみてくださいね


おどきょ
    • good
    • 0

足し算をして和が256以上になるかどうか。


小学生にも失礼な問題だね、幼稚園年少組レベル。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!