符号付き16進数(符号付き2進数を16進数表現した物)であれば、最上位桁が8
~F
の場合が負ですね。
一般的には、キャリーというのは最上位ビット(符号ビット)からその上位へのあふれ。オーバーフローというのは、最上位ビットから2つ目から、最上位ビット(符号ビット)へのあふれ、です。
加算でオーバーフローが発生するケース:
・正の数同士を加算して、最上位ビットが1になった
・負の数同士を加算して、正常位ビットが0になった
オーバーフローが発生するというのは結果が数値表現範囲を越えたということで、結果が正しくないです。
例:符号付き16進1桁の場合。10進で言うと、-8 ~ +7 の表現が可能。
3+7=A ・・・オーバーフロー発生 (10進だと3+7=10)
E+9=17 ・・・キャリーとオーバーフロー発生 (10進だと(-2)+(-7)=-9)
3+E=11 ・・・キャリー発生(10進だと3+(-2)=1)キャリーを無視すると結果は正しい
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。