seclan のほえほえルーム

| |

・プログラミング言語 C の新機能 Part XIII: INT#0:long long int 型 (1999/05/24 [])
 C 言語が初めて作成されてから、現在までかなりの時間が経過しています。それに従い計算機も進化してきました。例えば、64 bit のアドレス空間を持つ CPU の登場です。64bit あれば 18E(エクサ)もの巨大な数を表すことができます。従来の C 言語のコンパイラではそのような巨大な数を表現することは想定していませんでした。そこで、今回新たに long long int という、long 型よりもさらに大きな数を表現できる型が新設されました。具体的な大きさなどは次の通りです。

整数型一覧
符号基本型limits.h保証値
signedcharSCHAR_MIN-127
SCHAR_MAX+127
unsignedUCHAR_MAX256
signedshort intSHRT_MIN-32,767
SHRT_MAX+32,767
unsignedUSHRT_MAX65,535
signedintINT_MIN-32,767
INT_MAX+32,767
unsignedUINT_MAX65,535
signedlong intLONG_MIN-2,147,483,647
LONG_MAX+2,147,483,647
unsignedULONG_MAX4,294,967,295
signedlong long intLLONG_MIN-9,223,372,036,854,775,807
LLONG_MAX+9,223,372,036,854,775,807
unsignedULLONG_MAX18,446,744,073,709,551,615

limits.h は limits.h で定義されている名称を示しています。保証値はどの環境へ行っても最低限保証される値を示しています。実は、この long long int 型については、日本側から、ROMプログラムを作成するときなどはこんな巨大な数は必要ないのになんでオプションでないのか理由をきちんと書いて欲しいという提案も出たりしました。
 さてこの long long int 型は gcc や一部の UNIX ではすでに実装されているところもあるので、今回新たに追加された仕様とは知らず、「long long int 型は(従来の) C 言語の仕様で決められているんでしょ」とか言う人もいるかもしれません。


by seclan


| |

 

配信

4.27 msec