この記事では変数「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倍ものサイズを使えることが理由になっています。

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

float型とdouble型のメリット・デメリットは?

image by iStockphoto

ここまででfloat型とdouble型の特徴を紹介してきました。これらの特徴を踏まえて、float型とdouble型のメリット・デメリットを解説していきます。

float型のメリット・デメリット

先程解説したとおり、float型はdouble型と比べて「表現できる数字の範囲が狭い」「精度が劣る」というデメリットがあります。ただし、仮数部がdouble型の半分となることから、使用するメモリ領域も半分となるため、処理速度の面では有利です。

double型を使用するほどの範囲・精度が必要なければ、float型を使用したほうがコンピュータへの負荷が軽くて済むため、float型を使用したほうが良いでしょう。

double型のメリット・デメリット

一方で、double型はfloat型と比べて「表現できる数字の範囲が広い」「精度が高い」というメリットがありますが、その分、コンピュータへの負荷がかかり、処理速度は遅くなるというのがデメリットです。

ただし、近年のコンピュータは性能が向上してきているため、double型を使用してもあまり影響しないというケースもあります。使用する変数がどれだけあるかなど、データ型の選択以外の条件もコンピュータへの負荷に影響してきますので、プログラム全体の必要とする処理能力も勘案してデータ型を選択すると良いでしょう。

使用する数字に求めるものを見極めて、データ型を使い分けよう!

float型とdouble型は扱い慣れていない人からすると、一見、同じように小数を表すデータ型に見えますが、実際に使用すると実行結果や結果が返ってくるまでの速度が変わってきます。必要な精度や使用する機器の処理能力を見極めて、適切なデータ型を使用するようにしましょう。

" /> 変数「float型」と「double型」の違いとは?メリットとデメリット、用途も元社内SEがわかりやすく解説 – Study-Z
雑学

変数「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倍ものサイズを使えることが理由になっています。

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

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