2の補数を使用して正と負の数を加算すると、算術オーバーフローが発生しないのはなぜですか。可能であれば、8ビットの符号付き整数(バイト)の例を提供してください。
2 に答える
2
これは…宿題のように聞こえます。「宿題」タグを使用するつもりでしたか?
オーバーフローできない理由は、正x
の数と負の数を加算するととのようなy
値が生成されるためです。とはオーバーフローせずに表現でき、どちらよりもゼロに近いため、もオーバーフローせずに表現できます。z
abs(z) < abs(x)
abs(z) < abs(y)
x
y
z
z
正数と負数の任意のペアが例を形成します。
于 2010-08-02T20:57:12.223 に答える
1
正の数A
と負の数があるとしますB
。それらの合計はS
です。それで:
S <= A && S >= B
それらの合計は、中間のどこかにあるでしょう。桁上げが発生しますが、それはオーバーフロー (不正な合計) ではないことに注意してください。
于 2010-08-02T20:56:47.170 に答える