0

2の補数を使用して正と負の数を加算すると、算術オーバーフローが発生しないのはなぜですか。可能であれば、8ビットの符号付き整数(バイト)の例を提供してください。

4

2 に答える 2

2

これは…宿題のように聞こえます。「宿題」タグを使用するつもりでしたか?

オーバーフローできない理由は、正xの数と負の数を加算するととのようなy値が生成されるためです。とはオーバーフローせずに表現でき、どちらよりもゼロに近いため、もオーバーフローせずに表現できます。zabs(z) < abs(x)abs(z) < abs(y)xyzz

正数と負数の任意のペアが例を形成します。

于 2010-08-02T20:57:12.223 に答える
1

正の数Aと負の数があるとしますB。それらの合計はSです。それで:

S <= A && S >= B

それらの合計は、中間のどこかにあるでしょう。桁上げが発生しますが、それはオーバーフロー (不正な合計) ではないことに注意してください。

于 2010-08-02T20:56:47.170 に答える