負数の扱い
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/29 05:35 UTC 版)
「符号付数値表現」も参照 2種類の記号のみで、負の範囲の値(負の範囲の整数)も扱うには、広く一般的に用いられている方法は、最上位ビット(MSB)の重みを、2Nではなく −(2N) であるとするものである(2の補数を参照)。この方法は、そのビットパターンが、加減(及び、乗)の演算において特別な処理が不要なものになる、という特長を持つ。ただし、溢れ(オーバーフロー)の扱いが違ってくる(これは、例えばx86プロセッサにおける、キャリーフラグとオーバフローフラグの違いのことである(ステータスレジスタ#キャリーとオーバーフローを参照))。また固定長の場合に表現可能な範囲が、最小の値(負の側の絶対値が最大の値)のほうにひとつはみ出している、という扱いが面倒な場合がある特徴があって、たとえば8ビットで表現可能な範囲は −128, −127, 〜 −2, −1, 0, 1, 〜 126, 127 というようになっている。これに関しては、例えばC言語の標準規格のように、他の表現法も考慮し、全ての符号付き固定長のデータ型は、signed char であれば −128 までではなく −127 まで、などといった仕様になっている、といった場合がある。
※この「負数の扱い」の解説は、「二進法」の解説の一部です。
「負数の扱い」を含む「二進法」の記事については、「二進法」の概要を参照ください。
- 負数の扱いのページへのリンク