サイタプログラミングスクールC言語プログラミング入門講座神奈川 楽しめるC言語セミナー スクールブログ 整数の範囲

整数の範囲

前回は「データの型」について、基本的なことを書きました。

その中で、データの型には1バイト(=8ビット)、2バイト(=16ビット)、4バイト(=32ビット)の3種類の整数型があることに触れました。実際には8バイトの整数型もありますが、まずは前述の3種類をしっかり使いこなすことが先です。

さて、この3種類の整数型で取り扱える整数の範囲はどのぐらいでしょう。

結論から書くと、以下の通りとなります。

1バイト整数型: 0〜255
2バイト整数型: 0〜65,535
4バイト整数型: 0〜4,294,967,295

中途半端な整数が、最大になっていますね。これは、8ビット、16ビット、32ビットの各々において、すべてのビットが1になった2進数の数値表現を10進数の整数に変換したものなのです(たとえば2進数の11111111→255)。

なお、これはすべての整数が正であることを前提にした範囲です。

一方で、一番左のビットを「0なら正、1なら負」とみなすようにして、負の整数も取り扱うようにすることもできます。

この場合の整数の範囲は、以下の通りになります。

1バイト整数型: -128〜127
2バイト整数型: -32,768〜32,767
4バイト整数型: -2,147,483,648〜2,147,483,647


いずれも「負の整数のほうが、範囲が広い」ことに注目してください。

さて負の整数を2進数の数値表現で表す場合、どのようになるのでしょうか?

次回は、この「負の整数の2進数数値表現」について書きます。これは情報処理技術者試験(主に基本情報技術者)でも出ますので、是非知っていただきたい内容です。

 

(2014年3月3日(月) 14:35)

前の記事

次の記事

新着記事

コーチの源田です。 かなり久々のブログ更新になります。 今回は、これまでのプログラミングレッスンを通して再認識したことを記します。 タイトルにも記しましたが、それは  ・ アルゴリズムを作る練習の重要さ です。 アルゴリズムとは、 ・コンピュータに何ら...

源田です。 こちらの投稿は、かなりひさびさになってしまいました。 さて、最近Android用アプリ開発ツールである「Android Studio」(Android公式のもの)に注目しています。 というのも、最新のバージョン(2.2)でCやC++まわりの連係が強化されたから、な...

しばらく、更新が滞ってしまいました。すみません。 今回は整数の範囲に関する余談のその2、未来起こりうる話について書きます。 本題に入る前に、かつて「2000年問題」という騒動が起こったのを覚えていますでしょうか? これは、年に関する処理を誤ることでコンピュータが誤動作する可能...

今回から2回にわたり、整数の範囲にまつわるお話を書きたいと思います。 その1は、過去(現在でもあるかも)のお話です。 1986年5月に、後に日本を代表するロールプレイングゲーム(RPG)シリーズの初代となるゲームが発売されました。 そのゲームとは。。。ファミコン版のドラゴンク...

前回は、整数の範囲について書きました。 その最後で、「負の整数の2進数数値表現は、どのようになるのか」という点に触れました。今回は、この点について書きます。 まず、結論から書きます。 負の整数の2進数数値表現は、「正の整数の2進数数値表現の全ビットの0/1を入れ換えて、最後に...

レッスン無料相談窓口のご案内

サイタでは、C言語レッスンに関する疑問に
専門カウンセラーがお電話にてご案内しております。
お気軽にご利用ください。

お電話相談窓口はコチラ

ブログ記事 ページ先頭へ