整数型
ASCII文字コード体系では、7ビットですべての文字を表現可能なことから、1文字を1バイトの整数型として扱うことが可能である。英語圏のみに限れば、ASCIIで十分であった。しかし、日本語・中国語・韓国語など、文字種別の多い言語では、1文字を1バイトで表現することは不可能であり、1文字を複数バイトで表す符号化方式(マルチバイトエンコーディング)が言語ごとに考案された。さらに国際化対応の観点から、言語別の符号化方式ではなく、統一されたユニバーサルな符号化方式としてUnicodeが考案された。Javaは当初、先進的な設計としてUnicode 1.0を取り入れ、char型をUCS-2を表現する16ビットの型としたが、のちにUnicode 2.0(1996年)で導入されたサロゲートペアのために、1文字にchar2個を費やす場合が発生することになった。
#データモデルも参照。なお、JavaやC#といった後発言語では、最初から各組み込み整数型のビット幅と内部表現を標準仕様によって規定している。C++20では、符号付き整数型が2の補数表現であることが規定された。
暗号などで1024ビットや2048ビットといった程度の大きさの整数を扱うことがある。プログラムを書くだけであれば汎用的な可変長整数で扱えるが、暗号では通信のスループットやレイテンシ向上のために性能を求める場合もあり、そういう場合にはそのような固定サイズのデータ型を、組み込み型の集合すなわち配列や構造体のような集成体によって表現し、その処理に特化した関数やマクロ等を定義して使うこともある。
バイト (byte) のサイズやワード (word) のサイズ(異なるバイトがあることについては「バイト (情報) 」の記事を参照)が文脈によって明確な場合に限られるが、バイト型・ワード型・ダブルワード型、などという言いかたでも明確に表現できる。なお、ワードのサイズが不明確な場合でも、(具体的なビット数は不明だが)少なくとも「ダブルワード」はワードの倍だということはわかる。
ポインタはメモリアドレスを抽象化した概念だが、ポインタ型と整数型は同一ではない。C言語において、ポインタから整数および整数からポインタへの変換は処理系定義である。C/C++では、2つのポインタ間の減算の結果を格納する符号付き整数型として、ptrdiff_tが定義されている。C99およびC++11規格ではvoidへのポインタと相互変換可能な整数型として、intptr_tおよびuintptr_tが定義されている。