論理型、文字列型、固定小数点型、バイナリ型、型宣言
コンピュータの内部では、データはいくつかの型(type)に従って格納されています。型とは、基本的にはデータの種類の名前です。
データの型
├ 文字列型 英数字,ひらがな,カタカナ,漢字など。
│ ASCII,シフトJIS,Unicodeなど多様な体系がある。
│ 基本的には、英数字など半角文字は1バイト/1文字
│ 日本語などの全角文字は2バイト/1文字になる。
├ 論理型 1ビットで1/0(真/偽,ON/OFF)を表す。
├ 数値型 123とか-456.7などの数値。
│ ├ 整数型(固定小数点数) -3、0、2など
│ │ └ 2進数になります。
│ │ 通常は8ビット(1バイト)あるいは16ビット(2バイト)
│ └ 実数型(浮動小数点数) 0.31416×105のように指数で表現するもの。
│ 通常は32ビット(詳細:「浮動小数点数型の表示」)
└ バイナリ型 画像,音声,動画など
プログラムを記述するとき、変数の型を指定する必要があります。この型によって、変数に格納できる値の集合と、変数に対して実行する操作が決まり、戻すデータの型も決まります。
例えば、z = x + y の処理をするとき、これらの変数が整数ならば簡単な内部処理で済みます。
浮動小数点数だと認識すると複雑な処理が必要になり処理時間が長くなります。zも浮動小数点数となり計算誤差が生じますので、if (z = 10) … としたとき、zが厳密に10になることはないので、この処理が行われないことになります。
さらに、xが"1"、yが"2"(文字数)だと認識すると、zはxとyを連結した文字列 "12" になってしまいます。
コンピュータ(プログラミング言語)がこのような誤解をしないように、プログラム記述で型宣言をする必要があるのです。
しかし、厳密に型宣言を記述するのは煩雑です。そのため、プログラミング言語のなかには、コンパイル時の分析で自動的に型を設定(静的型付け)したり、実行時に型を判断(動的型付け)するので、厳密な型宣言をする必要がないものもあります。