読み方 : ふごうつきせいすうがた

符号付き整数型【signed integer type】

概要

符号付き整数型とは、整数を格納するデータ型の一種で、0と正の整数、負の整数をいずれも表現できるもの。プログラミング言語における整数型の標準的な形式として用いられる。
符号付き整数型のイメージ画像

コンピュータは数値を2進数で内部表現するため、符号付き整数型では限られたビット数の中で値の大きさと正負の別を表現する必要がある。現在のほとんどの処理系では、最上位ビットが符号の判別に用いられ、「0」であれば正または0、「1」であれば負の値として解釈される。これは負の数の表現形式における「2の補数」方式に当たり、正と負の加減算を同一の回路で処理できる。

表現できる値の範囲はビット幅によって決まる。nビットの符号付き整数型が扱える範囲は −2n−1 から 2n−1−1 までとなる。具体的には、8ビット(1バイト)では −128~127、16ビット(2バイト)では −32,768~32,767、32ビット(4バイト)では −2,147,483,648~2,147,483,647、64ビット(8バイト)では −9,223,372,036,854,775,808~9,223,372,036,854,775,807 となる。

型名はプログラミング言語や処理系によって異なる。C言語では int型、short型、long型などの整数型がデフォルトで符号付きとなり、「unsigned」を付与することで符号なし整数型に切り替えられる。Javaではbyte型、short型、int型、long型が符号付き整数型に相当し、C#でも同様である。Rustでは i8型、i16型、i32型、i64型のようにビット幅を型名に明示する。

一方、符号なし整数型は符号ビットを持たず、0と正の整数のみを扱う代わりに、同じビット幅で符号付き整数型の約2倍の最大値を表現できる。例えば、32ビットの符号なし整数型では 0~4,294,967,295 を扱える。メモリアドレスやビット演算など、負の値が生じない場面ではこちらが選ばれることが多い。格納できる範囲を超えた演算は「オーバーフロー」(桁あふれ)を引き起こし、その場合の結果は言語や実行環境の仕様に依存する。扱う値の範囲に応じて適切なビット幅の型を選択する必要がある。

(2026.6.23更新)
 

他の辞典等による「符号付き整数型」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。