変数「float型」と「double型」の違いとは?メリットとデメリット、用途も元社内SEがわかりやすく解説
今回はそんな変数「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倍ものサイズを使えることが理由になっています。
\次のページで「float型とdouble型のメリット・デメリットは?」を解説!/