数値型とその他の型 基礎編第7回


20140218

ようやく文字から離れて、別のデータ型について説明をします。 第2回で説明したように、データ型には文字型の他にもいろいろな種類があります。 最も基本的なデータ型は「文字型」「数値型」の2つです。ここからはまず「数値型」について説明していきます。数字が苦手な方でも、読み流す程度で何とかなります。

数値型

読んでそのまま、「数のデータ」です。秀丸マクロのように数値型が1種類しかないものもありますが、通常は

整数型
実数型

の2種類に分かれます。プログラム言語によってはさらに細分化されます。また、符号付きかどうかにより、正/負の数値も扱うことができます。

  • 整数型(Integer):小数を含まない数です。最もよく使用されます。サイズによって、short型、long型、longlong型などがあります(プログラム言語により名称が異なります)。
  • 実数型(Real):いわゆる小数です。これもサイズにより、single型、double型などがあります。ただし、実数の近似であることに注意してください。正確な数ではありません。コンピューターは2進数(0か1)で計算を行っています。10進数の整数を2進数に変換して計算をする場合は問題にならないのですが、小数(実数)を2進数で計算するのは簡単ではありません。
    試しに、0.1を2進数で表してみてください(解答は最後に)。
    コンピュータでは正確に処理できない小数があるため、丸め誤差が生じます。私たちが通常扱うような数では、このような誤差は問題になりません。

私たちが実数型を使用することはまずないと思ってよいと思います。整数型を主に使用することになりますが、使用目的に合わせて適切なサイズの型を選択してください。

その他の型

プログラム言語により、次のようなデータ型がサポートされる場合もあります。

  • 論理型(ブール型)(Boolean):True(真)またはFalse(偽)、0または1。論理式(If文)などで使用されます。多くのプログラム言語がサポートしています。
  • 通貨型(Currency):小数点以下4位までの実数値(実数型の一種)。VBAなどで使用されます。
  • 日付型(Date):日付や時刻を表すデータです。VBAなどで使用されます。
  • バリアント型(Variant):すべてのデータ型に対応する型。VBAなどで使用されます。万能ですが使用するメモリ領域が大きく、処理も遅くなります。また、異なる型同士の演算でもエラーにならないため、問題が発生しやすくなります。
  • オブジェクト型(Object):オブジェクト(後で説明)のアドレスへの参照。あらゆるデータを参照できます。

その他にも関数型など多くの種類がありますが必要になった時点で覚える程度で良いと思います。

文字型に比べてあっさりと説明を終えますが、これらのデータ型は実際にプログラムの中で使いながら覚えた方がよいでしょう。

まとめ

これまで文字型を中心にデータについて説明してきました。プログラミングというと、どうしてもアルゴリズムや制御、関数などを思い浮かべてしまいますが、基本はデータです。データを知らなければ、何をどう処理すればよいのか分かるはずがありません。処理される「データ」をしっかり理解することが大切です。

また、コンピュータは2進数しか理解できません。「8970」というデータの型が分からなければ、文字、数字、「英」という文字のコード、「35184」の16進数か判断することは難しくなります。そのため、きちんとデータの型を指定する必要があるのです。

普段何気なく入力しているデータについてほんの少しでも意識していただけたでしょうか。データには型があることを覚えただけでも、プログラミングの理解に近づけたかと思います。

次回からは、変数や定数など、データの取り扱いについて説明していく予定です。

では、また。

解答:0.1を2進数で表すと「0.0001100110011…」と無限数になってしまいます。

コメントしてみる