ホーム » スタッフ » 斉藤徹 » 数値の型と扱える値の範囲

2007年5月
« 4月   6月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

最近の投稿(電子情報)

アーカイブ

カテゴリー

数値の型と扱える値の範囲

変数の型と扱える数値の範囲の説明として、 char,short int,int,long int の整数型、 float, double の実数型 を説明し、整数 演算子 整数の計算は、整数で行われることによるトラブル事例を紹介。

N bit の整数の扱える範囲

IMG n /cgi-bin/mimetex.cgi?0\sim{2^{N}-1} を説明。

2の補数表現

コンピュータの中では、負の数の扱いには、2の補数が使われ、 最上位ビットを符号ビットに使う。 2の補数とは、2進数 IMG n /cgi-bin/mimetex.cgi?x のbit反転に1を加える方法。 bit反転を IMG n /cgi-bin/mimetex.cgi?\overline{x} としたら、 IMG n /cgi-bin/mimetex.cgi?x+\overline{x}=1111,1111 (8bit)の場合。 IMG n /cgi-bin/mimetex.cgi?x+\overline{x}+1=1,0000,0000 となるが、先頭の1は覚えられないので、 IMG n /cgi-bin/mimetex.cgi?x+\overline{x}+1\simeq{0} よって、2の補数 IMG n /cgi-bin/mimetex.cgi?\overline{x}+1 は IMG n /cgi-bin/mimetex.cgi?-x を表現するのに都合がいい。
よって N bit の2の補数表現で扱える数値の範囲は、 IMG n /cgi-bin/mimetex.cgi?-2^{N-1}\sim(2^{N-1}-1) となる。

数値の範囲のトラブル事例として、2000年問題の32bit版ということで、 2037年問題(正確には2038年)を紹介する。

類似ネタ