雑学

変数「float型」と「double型」の違いとは?メリットとデメリット、用途も元社内SEがわかりやすく解説

よぉ、桜木建二だ。この記事では変数「float型」と「double型」の違いについてみていくぞ。2つとも小数を扱う変数型だが、使用できる範囲や得意としていることが違うようだ。
今回はそんな変数「float型」と「double型」の違いを、用途の違いも含めて、元社内SEのライター佐倉晃次郎と一緒に解説していくぞ。

解説/桜木建二

「ドラゴン桜」主人公の桜木建二。物語内では落ちこぼれ高校・龍山高校を進学校に立て直した手腕を持つ。学生から社会人まで幅広く、学びのナビゲート役を務める。

ライター/佐倉晃次郎

PCの電話サポート、社内SEを経験。現在は企業で記事校正やVBAを使ったプログラミングをしながらWebライターをしている。

float型とdouble型の違いとは?

float型もdouble型も、いずれも浮動小数点数型と呼ばれる、小数を取り扱うデータ型です。小数を「-1.01011E8」(※ここで、「E8」は10の8乗を表す)といった表現で表したのが浮動小数点数であり、その中で、float型にあたるものは単精度浮動小数点数と呼ばれ、double型にあたるものは倍精度浮動小数点数と呼ばれています。

まず、float型とdouble型の違いを「数字の範囲」と「得意分野」でみていきましょう。

浮動小数点数は、「符号部」「指数部」「仮数部」の3つに分かれています。符号部は、-と+といった、数字の正負を表す部分です。指数部は「10のn乗」「2のn乗」といった部分の「10」や「2」の部分を指しています。仮数部は正規化した小数点以下の部分を表す部分です。小数の正規化とは、小数点の位置を動かして最上位の桁を0以外の数字にする操作のことで、例えば3.33E21という数字の場合、仮数部は「0.333」となります。

違いその1.使用できる数字の範囲

image by iStockphoto

float型で使用できる数字の範囲は約1.2E-38~約3.4E38です。それに対して、double型で使用できる数字の範囲は約2.2E-308~約1.8E308であり、double型のほうが使用できる数字の範囲が圧倒的に広いことがわかります。

違いその2.得意分野

image by iStockphoto

浮動小数点数を使用する際に注意しなければならないのが、「浮動小数点数はあくまでも近似値」であるという点です。float型もdouble型も、同じ浮動小数点数を表すデータ型ですので、いずれも近似値しか表現ができませんが、2つのデータ型のうち、double型のほうが精度が高くなっています

これは、double型の仮数部float型の仮数部の2倍ものサイズを使えることが理由になっています。

no-img2″>
 <figcaption class=桜木建二

データ型の名前についている「double」の由来は、仮数部がfloatの2倍であることから来ているんだな。日本語での名前も「倍精度」とついているから、どっちがどっちなのか覚えやすそうだ。大は小を兼ねると言うし、double型を常に使っていれば良い気がするが、float型を選ぶほうがいいシチューエーションはあるのだろうか?

\次のページで「float型とdouble型のメリット・デメリットは?」を解説!/

次のページを読む
1 2
Share: