「6さいからのプログラミング」第4話では、00~FFしか格納できないメインメモリ上で文字や巨大な数や小数などを扱う仕組みについて解説します。第3話までの講義で、メインメモリ上には00~FFの値しか置くことができないと説明しました。大きな数や、負の数や、小数や、文字などを扱いたいときがあります。そこでこれらの値を、00~FFをうまく工夫することで表現しようと考えます。わたしたちが普段使う10進数では、大きな数を表すときに「一の位」「十の位」といった桁で表現しますが、16進数の大きな数も同じ仕組みで表せます(図1-1)。A9」という3バイトの値で表すことができます。2C」となりますが、逆順にする利点はいくつかあるため、現在ほとんどのPCやスマートフォンではメインメモリ上で逆順に格納されています。逆順で表す方式を「リトルエンディアン」、元の順で表す方式を「ビッグエンディアン」といいます。文字をメインメモリ上で表現したい場合はどうでしょうか。「H」「E」「L」「L」「O」という5文字は、図1-2のように表すことができます。文字と文字コードあらかじめ00~FFが何の文字を表すかというルールを定めた「文字もじコード」というものを用意することで文字が表現できます。文字コードにはいくつか標準的なものが存在していて、よく使われるものは「ASCII」や「UTF-8」などです。日本語にはひらがなや漢字などたくさんの文字の種類があるため、とても00~FFだけでは表しきれないので、数バイトで1文字を表現したりします。「H」「E」「L」「L」「O」の5文字を並べて一つのメッセージ「HELLO」とみなしたものを、文字の列という意味で「文字列もじれつ」といいます。プログラミングでは文字と文字列は別物として区別します。文字が複数集まったものが文字列です。2型このように、同じ00~FFの並びでも数値とみなしたり、文字列とみなしたりできますが、メインメモリ上の並びをどうみなすかを「型かた」といいます。5A」という並びを、「整数型せいすうがた」では「58595A」という数値とみなし、「文字列型もじれつがた」では「XYZ」という文字列とみなします。C言語では整数型のことを「int型イントがた」と呼びますが、型の呼び方は言語によってばらつきがあります。C言語、Java、Haskellにおける型を一部紹介します(表2-1)。ばいせいどふどうしょうすうてんがた」は精度の高い小数を扱う型で、精度が高いほどメインメモリをたくさん使います。「論理型ろんりがた」は真偽を扱う型です。基本的な型を紹介しましたが、実際にはC言語ではint型以外にも整数型が用意されていたりします。メインメモリを無駄遣いしないために、用途に応じて最適な型が使われます。3負の数さて次は、負の数(0より小さい数)をメインメモリ上でどう扱うかについて解説します。34」と表した場合、2バイトのビッグエンディアンでは「A234」という数値と考えることができますが、最初の1ビットをプラスマイナスの符号だとみなすと、負の数として扱うことも可能です。34」は最初の1ビットが1なので負の数だとみなせます(図3-1)。34」は負の数では「-5DCC」となります。ように解釈する型を「符号なし整数型」といいます。次は小数についてです。メインメモリ上で小数を扱うときは、多くの場合「浮動小数点ふどうしょうすうてん」という仕組みが用いられます。これは、小数を「a×(2のb乗)」という形で表すもので、小数点を動かして様々な数値を表現することからこの名前が付いています(図4-1)。00」と表しています。754」という規格で定められていますが解らなくて構いません。多くのプログラミング言語では、「真」か「偽」のいずれかの値を扱うような型が用意されています。これを「論理型」といいます。用途としては、「ある条件が真ならばAを、偽ならばBを実行せよ」などの命令に使われます。多くの言語では、メインメモリ上では「0」を偽、「1」を真として表現します。C言語の古典的な規格には論理型が存在しないため、整数型で代用します。この場合「0」を偽、「0以外」を真として表します。6リテラル以上が型の概要になります。この他にもたくさんの型が存在します。プログラミングをするときは、今扱っている値が何の型であるかを意識することが大切です。メインメモリ上の単なる並びが何を表しているのかを決めるのが型だからです。言語によっては、型を自動的に推察してくれる仕組みや、状況に応じて型を自動的に変換する仕組みがあります。その場合でも、メインメモリ上がどうなっているのかを意識することで、不要な変換処理を減らすことができ、またバグを減らすこともできます。最後に、それぞれの型の値をソースコード上で記す方法について解説します。なります(表6-1)。5.0このように、値の書き方によってその値の表す型が変わります。ソースコードに書かれたこのような値のことを「リテラル」といいます。「"5"」は「文字列リテラル」です。今回は、型とリテラルについて解説しました。前へ目次ホームへ次へ©Kuina-chan1579921986jaf。