整数型
出典: フリー百科事典『ウィキペディア(Wikipedia)』
整数型(せいすうがた)は、プログラムのソースコードにおけるのデータ型の1つまたは1群。
プログラムで扱うもっとも単純な単位であり、コンピュータの初期から概念として存在している。
目次 |
[編集] 種類
[編集] 符号あり整数と符号なし整数
正負両方の整数を表せる符号あり整数型と、非負(0または正)の整数だけを表せる符号なし整数型とがある。符号あり整数型は、負数を表せるかわりに、表せる正数の上限は低い。
[編集] 短精度整数型と長精度整数型
多くの言語には、通常の整数型より表せる範囲が狭い(そのかわりメモリ消費が少ない)短精度整数型(単精度整数型)と、範囲が広い(そのかわりメモリ消費が多く、低速なこともある)長精度整数型がある。さらに範囲が広い倍長精度整数型があることもある。
短精度整数型、整数型、長精度整数型、倍長精度整数型の表せる範囲は言語や処理系によって違うので、曖昧さをなくすために○ビット整数型、○バイト整数型という言いかたもある。また、バイト型、ワード型、ダブルワード型などという言いかたもある。
[編集] 文字型
文字は、コンピュータの内部では整数で表現されている。そのため、多くの言語は文字型を整数型の一種としてあつかう。
[編集] 多倍長整数型
多倍長整数型は、事実上任意の範囲(たとえば数百桁~数百万桁)の整数を表すことができる。通常、ソフトウェアで実装され、内部的には整数の配列で表現されている。
[編集] 固定小数点実数型
固定小数点実数型は、内部的には浮動小数点実数型より整数型に近いため、整数型の1種とすることがある。
[編集] ビットによる範囲の制限
多くのコンピュータ(CPU)はデータをビット列として表すが、そのサイズにより表せる数の上限が違ってくる。 例えばデータ型が8ビットなら、扱える数の範囲は正数のみの場合0~255までである。
プログラミング言語における整数型のビット数は、各プログラミング言語の仕様、あるいはそれをコンパイラ等に実装する際の仕様により決められる。通常、それらを使用すると想定されるコンピュータ・アーキテクチャに合ったものにされる。実際にはアーキテクチャの普及や言語開発にかかる時間があるので、アーキテクチャの推移よりも遅れて推移する。
2006年現在、64ビットCPUが普及しているにもかかわらず、新たにリリースされる言語の多くは整数型を32ビットとしている。しかし、新しい言語仕様の中には、整数型が64ビットのものも現れている。逆に現在でも、互換性などの事情により16ビットである言語も存在する。
ライブラリ等を使うことにより、元の言語の仕様よりも桁数の大きい整数を取り扱うことが可能になる場合もある。また、あらかじめ桁数の大きい整数を取り扱うことのできるようにしてある言語もあり、例えば、UBASICでは2700桁までの整数が使用できる。
[編集] データ型名
ビット数 | 符号 | Java | C# | SQL92 | Visual Basic | C | C/C++ (多くの16/32ビット環境) | C/C++ (多くの64ビット環境) |
---|---|---|---|---|---|---|---|---|
8 | 有 | byte | sbyte, SByte | int8_t | signed char | signed char | ||
16 | 有 | short | short, Int16 | smallint, int2 | integer | int16_t | signed short | signed short |
32 | 有 | int | int, Int32 | integer, int, int4 | long | int32_t | signed long | signed int |
64 | 有 | long | long, Int64 | bigint, int8 | int64_t | signed long long | signed long, signed long long | |
8 | 無 | byte, Byte | tinyint, int1 | byte | uint8_t | unsigned char | unsigned char | |
16 | 無 | char | ushort, UInt16 | uint16_t | unsigned short | unsigned short | ||
32 | 無 | uint, UInt32 | uint32_t | unsigned long | unsigned int | |||
64 | 無 | ulong, UInt64 | uint64_t | unsigned long long | unsigned long, unsigned long long |
[編集] 関連項目
カテゴリ: コンピュータの算術 | コンピュータのデータ | データ型 | コンピュータ関連のスタブ項目