符号付き整数型 | Programming Place Plus 用語集

トップページ用語集

名称

解説

データ型の一種である整数型のうち、正の整数、負の整数および 0 を表現できるものを指します。

プログラミング言語の種類によって詳細は異なりますが、その言語でもっとも基本的な整数型は符号付き整数型になっているの普通です。

符号付き整数型に対して、正の整数と 0 だけを表現できるものを、符号無し整数型と呼びます。これは必須であるとはいえないため、プログラミング言語によっては、符号無し整数型が定義されていないものもあります。

符号無し整数型は、すべてのビットを使って整数を表現します。一方、符号付き整数型では、最上位ビットを、符号が正なのか負なのかを表す符号ビットとして使います。そのため、符号付き整数型で表現できる整数の最大値は、符号無し整数型の約半分になります(表現範囲が負の方向にずれているという捉え方ができる)。

符号付き整数型で負の整数を表現する方法には種類があり、2の補数と呼ばれる表現方法が圧倒的多数を占めます(そのほか、1の補数や、符号と絶対値による方法などがあります)。

C言語、C++ の場合

C言語や C++ の int型、long int型といった名称の整数型は、符号付き整数型です。signedキーワードを付加して、signed int や signed long int のように記述することで明確にできますが、そこまですることは通常ありません。

これらの言語には符号無し整数型が存在しています。unsignedキーワードを付加して、unsigned int や unsigned long とすれば符号無し整数型になります。

C言語の整数型について、C言語編第19章で解説しています。

負の整数を表現する方法については、C言語では処理系定義であり、2の補数、1の補数、符号と絶対値による方法のいずれかです1。C++ では規定がない状態が続きましたが、C++20 で2の補数であることが規定されました2 3


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る