KDOC 563: キャリーフラグとオーバーフローフラグの違い

この文書のステータス

  • 作成
    • 2026-05-14 貴島
  • レビュー
    • 2026-05-14 貴島

概要

  • キャリーフラグはCPUが演算の結果、ビット幅を超えた桁上がり/下がりが発生したときに立つ
  • オーバーフローフラグはCPUが演算の結果、結果の符号が正しくなくなったときに立つ

CPU側では同じ演算で両方のフラグを同時に計算し、レジスタの別のビットに保存する。アプリケーションは演算を符号なし/符号付きと扱うかで、どちらのフラグを参照するか変わる。

200 + 100 (8ビット)を例に説明する。

  • 符号なし: 255を超えたのでキャリーフラグが立つ
  • 符号付き: 200は-56、100は100、-56+100=44で符号は正しい。オーバーフローフラグは立たない

関連

なし。