longとintの違いとは?あつかう範囲や名前の由来もプログラマーがわかりやすく解説
- longとintの違いは長さ、整数を表すint一族
- int:標準の長さ
- long:longはintよりも長い
- longがあればshortも?C言語の整数型
- そもそも何の長さ?整数型変数のビット数
- signed?unsigned?いろいろな種類のあるint一族
- 実は同じ長さのことも?C言語の不思議
- C言語以外の言語では?言語によって異なる名前
- C++:C言語と同じ考え方
- Java・C#:長さはすべて決まっている
- Go・Swift:直球勝負、longではなくint64
- Python:数値はひとつ、サイズの違いなし
- longとintは扱う数値の範囲が違う、違う呼び方や区別がない言語も
この記事の目次
ライター/woinary
某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさんです。
longとintの違いは長さ、整数を表すint一族
image by iStockphoto
プログラミングで欠かせないのが変数です。よく何らかの値を入れる箱のようなものと説明します。この箱ですが、中に入れるものの大きさに限りがあります。そのため、どの大きさまで入るかということは重要です。そのサイズを表すときに使われるのが「長さ」。それが長いものが「long」になります。
でも、大きさならばlongよりはbigとかsmallの方が良さそうですよね。なぜ「長さ」で「long」なのかを、まずは他のプログラミング言語の考え方のもとになっているC言語を例として説明していきます。
int:標準の長さ
変数には何を入れるのかが決まっています。数値を入れる変数が数値型変数、文字を入れる変数が文字型変数です。このうち数値型変数のサイズを表すのが「int」や「long」になります。
「int」は「integer」の略です。日本語にすると「整数」ですね。0と正負の小数点のつかない数値をさします。整数は無限ですが、コンピュータでは無限を扱うことができません。そのため必ず扱うことのできる数値の範囲が決まっています。いくつかある範囲の一つが「int」です。intは普通に使うにはこれくらいあればよいだろうという標準的なサイズになります。
long:longはintよりも長い
単に「long」と呼んでいますが、正確には「long」は「long int」の略です。つまりintより長い整数が「long (int)」となります。intで多くの場合は十分なのですが、それよりも大きな数値を扱いたい時もありますよね。その場合に必要なのがlongです。
これが原因で話題になっているのが「2038年問題」。これで十分だろうという考えでintを使っているコンピュータでは問題が起きてしまうというものになります。2000年前後には2000年問題が話題になりましたが、それよりも深刻ではないかとの意見もあるほどです。
中に入る数の範囲がいくつかに分かれているのは面倒かと思うかもしれません。なぜそのようになっているのか、変数の仕組みとともに後で説明します。
longがあればshortも?C言語の整数型
image by iStockphoto
C言語の数値型変数にlong(long int)とintがあると説明しましたが、実はshort(short int)もあります。longとは別に標準のintより短いものがshortです。では、長さとは何かについて見ていきます。
\次のページで「そもそも何の長さ?整数型変数のビット数」を解説!/


