整数型

整数型の最新ニュースをまとめて検索!

整数型(せいすうがた、英語:Integer)は、プログラムソースコードにおけるのデータ型の1つまたは1群で、整数を取り扱うものである。

プログラムで扱うもっとも単純な単位であり、コンピュータの初期から概念として存在している。

目次

[編集] 種類

[編集] 符号あり整数と符号なし整数

正負両方の整数を表せる符号あり整数型と、非負(0または正)の整数だけを表せる符号なし整数型とがある。符号あり整数型は、負数を表せるかわりに、表せる正数の上限は低い。

詳細は「符号付数値表現」を参照

符号なし整数は、ビットの並びをそのまま数値として解釈するが、符号あり整数では、負の値の表現方法にいくつか種類が存在する。

[編集] 短精度整数型と長精度整数型

多くの言語には、通常の整数型より表せる範囲が狭い(そのかわりメモリ消費が少ない)短精度整数型(単精度整数型)と、範囲が広い(そのかわりメモリ消費が多く、低速なこともある)長精度整数型がある。さらに範囲が広い倍長精度整数型があることもある。

短精度整数型、整数型、長精度整数型、倍長精度整数型の表せる範囲は言語や処理系によって違うので、曖昧さをなくすために○ビット整数型、○バイト整数型という言いかたもある。また、バイト型、ワード型、ダブルワード型などという言いかたもある。

[編集] 文字型

文字は、コンピュータの内部では整数で表現されている。そのため、多くの言語は文字型を整数型の一種として扱う。ただし、その関係性は言語によって文字型と整数型が互いに型変換可能であるものから、独立した文字型がなく、文字型に相当するものが完全に整数型の分類の1つに組み込まれたもの(Cなど)まで様々である。

[編集] 多倍長整数型

多倍長整数型は、事実上任意の範囲(たとえば数百桁~数百万桁)の整数を表すことができる。通常、ソフトウェアで実装され、内部的には整数の配列で表現されている。

[編集] 固定小数点実数型

固定小数点実数型は、内部的には浮動小数点実数型より整数型に近いため、整数型の1種とすることがある。

[編集] ポインタ

ポインタは多くの場合、メモリアドレスを指す整数値として実装されている。ただし、ポインタに対する演算はCに代表されるように、通常の整数とは異なった扱いを受けることが多い。

[編集] ビットによる範囲の制限

多くのコンピュータ (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 int8_t signed char signed char
16 short short smallint, int2 Integer int16_t signed short signed short
32 int int integer, int, int4 Long int32_t signed long signed int
64 long long bigint, int8 int64_t signed long long signed long, signed long long
8 byte tinyint, int1 Byte uint8_t unsigned char unsigned char
16 char ushort uint16_t unsigned short unsigned short
32 uint uint32_t unsigned long unsigned int
64 ulong uint64_t unsigned long long unsigned long, unsigned long long

[編集] 関連項目

最終更新 2009年1月19日 (月) 22:30 (日時は個人設定で未設定ならばUTC)。
【整数型】変更履歴

ご利用上の注意

もっと調べる!