next up previous contents
Next: 1.3.0.0.1 例 Up: 1. 計算機における数の表現 Previous: 1.2 予備的な知識

1.3 整数

整数1.1は数値シミュレーションではデータとして使われることは滅多にないが、 簡単に解説しておく。

$m$ ビット・マシンでは、$m$ ビットのデータ (ワード) を標準の整数デー タを表現するために使うことが多い。$m$ ビットで $2^m$ 個のデータを表現 することが出来る ($m=16$ では $65536$ 個、$m=32$ では $4294967296$個)。 正の数だけあれば間に合うならば、ごく自然に $0,1,\cdots,2^m-1$ の数を対 応させることが出来る (実際 $b_{m-1}, b_{m-2},\cdots,b_1,b_0$$m$ ビットのデータとして、 $N = 2^{m-1} b_{m-1} + \cdots+2^k b_k+\cdots +
2^2b_2 + 2b_1 + b_0$ を対応させればよい)。C 言語で ``unsigned (符号無)'' を冠したデータ型はまさにこれである。

しかし大抵は負の数をも必要とする。素朴に考えると、1 ビット (例えば $b_{m-1}$) を符号を表すのに用いて、残りの $m-1$ ビットで絶対値を表すよう にする方法が思い浮かぶ。これは絶対値表示と呼ばれ、ある程度使わ れて来た。しかし現在ポピュラーな方法は補数表示と呼ばれる方法で ある。大抵は2 の補数表示であるが、1 の補数というものもある。

$b_{m-1} b_{m-2} \cdots b_1 b_0$ というビットの列は 1 の補数表示で は次のように解釈される。

要するに $1$ の補数表示は本質的には絶対値表示とあまり変わらない。




next up previous contents
Next: 1.3.0.0.1 例 Up: 1. 計算機における数の表現 Previous: 1.2 予備的な知識
Masashi Katsurada
平成17年6月2日