next up previous contents index
: 整数の内部表現 : 数の内部表現 : peek と poke   目次   索引

32 bit 整数の内部表現

C 言語などでは int と宣言されている変数には 多くの場合 32 bit 整数が格納される. Asir では, 通常利用されている数は, bignum であるが, 関数 ntoint32(N) を用いて bignum N を 符号なし 32 bit 整数に変換できる.

C 言語などでは int と宣言されている変数, つまり 符号付き 32 bit 整数では, 最上位の bit を数の符号を表すのに 用いている. 32 bit では説明を書くのにはあまりに大きな数を使わないといけないので, 符号付き 8 bit 整数の仕組みを説明しよう. 32 bit 整数でも仕組みは同じである.

符号付き 8 bit 整数では, 次のように 整数と 8 桁の2進数(2 桁の16進数)を対応させる.

\begin{displaymath}
\begin{array}{\vert c\vert c\vert}
00 & 0 \\
01 & 1 \\
\cd...
...\cdot \\
\cdot & \cdot \\
FE & -2 \\
FF & -1 \\
\end{array}\end{displaymath}

この表をみればわかるように, 負の数では最上位の bit が 1 であり, また FF=11111111 が -1, FE=11111110 が -2 に対応しており, 符号付き 8 bit 整数での最小の負の整数は -128 である.



Nobuki Takayama 平成15年9月12日