整数型
可変長の整数型は任意の長さとなる。固定長の整数型は、通例処理系の都合によって定義される。従来からあるC言語およびC++の組み込み整数型にはintのほかにshort (short int) とlong (long int) があるが、<limits.h>にて表現可能な上下限値が規定されているだけで、shortの長さはintの長さ以下であればよく、longの長さはintの長さ以上であればよい、という緩い規定しかない(符号無し型も同様)。また内部表現も規定されていなかった(大多数の処理系では2の補数表現が採用されているが、規格では規定されていない)。しかし時代の変化により、のちのC/C++標準規格ではビット数と内部表現を明確化した型が用意されるようになった。C99/C++11 では int64_t などの固定幅整数型が標準化されている。このような型は特にAPIなど、移植性や相互運用性が重視されるケースで有用であるが、規格ではオプション扱いであり、実際に固定幅整数型を定義するかどうかは処理系に委ねられているため、必ずしも利用できるとは限らない。nビット整数型、nバイト整数型といった用語もある。
多くのプログラミング言語における組み込みの整数型は固定長であり、通例、8ビット・16ビット・32ビット・64ビットといった、8の倍数(オクテット)のビット幅を持つ。また、C言語の組み込み整数型は処理系依存となっており、特にint型やlong型はプロセッサのレジスタのワード幅などに合わせたサイズがよく用いられる。これらの組み込み型は通例プロセッサの機械語命令に直接対応するデータ型であり、コンピュータ上で高速に扱うことができる。多くの場合、目的に合わせて、いくつかの固定長サイズの整数型がある(後述)。
一方、整数の任意の値を扱うことができる、可変長の整数というものもある。一般にプロセッサが直接扱うことはできないため、多くのプログラミング言語ではライブラリを利用する。言語仕様としてそのようなデータ型が用意されている言語もあり、一部の言語では計算結果に応じてシームレスに固定長と切り替わる(プログラマからは隠蔽されている)。大きい数を扱えることから BigNum あるいは整数であることを示す BigInt、日本語では多倍長などといった名前で呼ばれている。任意精度演算の記事も参照のこと。
いくつかのコンピュータ言語における標準整数型の対応表を以下に示す。
1 2 C/C++ では単なる char 型の符号有/無については規定されておらず、処理系によって異なる。
1 2 3 4 5 6 7 8 システムのアーキテクチャのビット幅に依存する。