KDOC 563: キャリーフラグとオーバーフローフラグの違い
この文書のステータス
- 作成
- 2026-05-14 貴島
- レビュー
- 2026-05-14 貴島
概要
- キャリーフラグはCPUが演算の結果、ビット幅を超えた桁上がり/下がりが発生したときに立つ
- オーバーフローフラグはCPUが演算の結果、結果の符号が正しくなくなったときに立つ
CPU側では同じ演算で両方のフラグを同時に計算し、レジスタの別のビットに保存する。アプリケーションは演算を符号なし/符号付きと扱うかで、どちらのフラグを参照するか変わる。
200 + 100 (8ビット)を例に説明する。
- 符号なし: 255を超えたのでキャリーフラグが立つ
- 符号付き: 200は-56、100は100、-56+100=44で符号は正しい。オーバーフローフラグは立たない
関連
なし。