新人Y子のプログラミングのお部屋15

今回は、変数をお勉強します。
 
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]おさらいです。「val」という名前の変数を、「整数型」で定義してください。
[/speech_bubble]
[speech_bubble type=”std” subtype=”R1″ icon=”sanoyu-normal.png” name=”新人Y子”]えーっと、整数型は「int」でしたので、
「int val;」
で、あっていますか?

[/speech_bubble]
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]さすがです。そうですね。
では、その「整数型」について、掘り下げてみましょう。
まず、整数型は、「int」型以外にもありますので、そのバリエーションをみましょう。
[/speech_bubble]
[speech_bubble type=”std” subtype=”R1″ icon=”sanoyu-normal.png” name=”新人Y子”]整数型ってまだあるのですね。
[/speech_bubble]
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]ほかにも整数型は、
「char」型、「short」型、「long」型 などがあります。
[/speech_bubble]
[speech_bubble type=”std” subtype=”R1″ icon=”sanoyu-normal.png” name=”新人Y子”]それぞれの整数型は、何が違うのでしょう?
[/speech_bubble]
 
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]器の大きさ(最大桁数)が違います。
[/speech_bubble]
 
[speech_bubble type=”std” subtype=”R1″ icon=”sanoyu-normal.png” name=”新人Y子”]それぞれ何桁まで入るのでしょう?
[/speech_bubble]
 
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]それを知る前に、コンピュータがどのようにして数値を扱っているか掘り下げて見てみましょう。
[/speech_bubble]
[speech_bubble type=”std” subtype=”R1″ icon=”sanoyu-normal.png” name=”新人Y子”]はい。お願いします。
[/speech_bubble]
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]人は、10進数すなわち、0,1,2,3,4,5,6,7,8,9 の10個の記号で数値を表現しますが、コンピュータは違うのです。
[/speech_bubble]
[speech_bubble type=”std” subtype=”R1″ icon=”sanoyu-normal.png” name=”新人Y子”]へぇー!なんか難しそう。
[/speech_bubble]
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]いえいえ、コンピュータはもっと簡単な、0,1 だけ、すなわち2進数で数値を表現します。
[/speech_bubble]
[speech_bubble type=”std” subtype=”R1″ icon=”sanoyu-normal.png” name=”新人Y子”]でも、わざわざ、何で2進数で数値を表現するのでしょう?
[/speech_bubble]
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]理由は、コンピュータの回路は、ONとOFFの「スイッチ」でできているためです。
[/speech_bubble]
[speech_bubble type=”std” subtype=”R1″ icon=”sanoyu-normal.png” name=”新人Y子”]スイッチですか?
[/speech_bubble]
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]はい。スイッチのOFF・ONを、2進数の「0」・「1」に割り当てると、2進数と見なせるんです。
[/speech_bubble]
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]そして、このスイッチの組み合わを増やすことで、表せる数が大きくなります。
スイッチ1つあれば、「0」、「1」の2通りが表せますが、
スイッチ2つあれば、「00」、「01」、「10」、「11」の4通り、
スイッチ3つあれば、「000」、「001」、「010」、「011」、「100」、「101」、「110」、「111」の8通り表せます。
[/speech_bubble]
[speech_bubble type=”std” subtype=”R1″ icon=”sanoyu-normal.png” name=”新人Y子”]スイッチが1つ増えるごとに、表せる組み合わせが2倍に増えてますね。
[/speech_bubble]
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]そうです。各変数型の器の大きさの違いは、このスイッチの個数が違うんです。
[/speech_bubble]
[speech_bubble type=”std” subtype=”R1″ icon=”sanoyu-bikkuri.png” name=”新人Y子”]なるほど!
[/speech_bubble]
[speech_bubble type=”std” subtype=”L1″ icon=”itokuma-normal.png” name=”しげちゃん先生”]ちなみに、スイッチのことを「ビット」と呼びます。各変数型のスイッチの数(ビット数)は、以下の通りです。 
[/speech_bubble]
 

■整数型の器の大きさ

「char」型、8ビット
「short」型、16ビット
「int」型、32ビット (*1)
「long」型、64ビット(*1)

 
 
[speech_bubble type=”std” subtype=”R1″ icon=”techtrageman-normal.png” name=”テクトレージマン”]次回に続く[/speech_bubble]
 
(*1) 処理系によって、ビット数が異なる場合があります。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次