カテゴリ: C++ 更新日: 2026/01/08

C++の浮動小数点型を完全解説!float・double・long doubleの精度と違いを初心者向けにやさしく説明

浮動小数点型 (float, double, long double) の精度と違い
浮動小数点型 (float, double, long double) の精度と違い

先生と生徒の会話形式で理解しよう

生徒

「C++で小数を使おうとしたら、floatとかdoubleとか出てきました。数字なのに何が違うんですか?」

先生

「小数を扱うときは、数字の細かさがとても重要になります。C++では、その細かさによって使う型が分かれているんです。」

生徒

「細かさって、どういう意味ですか?パソコンを触ったことがなくても理解できますか?」

先生

「大丈夫です。定規やメモ帳の例えを使って、floatやdoubleの違いを順番に説明しますよ。」

1. 浮動小数点型とは何か

1. 浮動小数点型とは何か
1. 浮動小数点型とは何か

C++の浮動小数点型とは、小数を含む数字を扱うためのデータ型です。 データ型とは、数字や文字などの情報をパソコンの中に保存するための入れ物の種類のことです。 整数型が整数専用の箱だったのに対して、浮動小数点型は小数点付きの数字を入れる箱になります。

例えば、身長、体重、気温、金額の計算などでは、小数を使う場面が多くあります。 こうした数字を正しく扱うために、C++ではfloat、double、long doubleという浮動小数点型が用意されています。

浮動小数点という言葉は難しく感じますが、「小数点の位置が動く数字」と考えるとイメージしやすくなります。 小数点の位置を自由に動かせることで、とても大きな数字やとても小さな数字も表現できるようになっています。

2. 精度とは何かをやさしく理解する

2. 精度とは何かをやさしく理解する
2. 精度とは何かをやさしく理解する

浮動小数点型を理解するうえで重要なのが精度という考え方です。 精度とは、「どこまで細かく数字を表せるか」という意味です。 初心者の方は、定規の目盛りを思い浮かべると分かりやすくなります。

目盛りが粗い定規では、長さを大まかにしか測れません。 逆に、目盛りがとても細かい定規なら、より正確な長さが分かります。 浮動小数点型も同じで、型によって数字をどれだけ細かく表現できるかが決まっています。

精度が低いと計算結果に誤差が出やすくなり、精度が高いほど正確な計算ができます。 ただし、精度が高い型ほど、パソコンの中で多くのメモリを使います。

3. float型の特徴と注意点

3. float型の特徴と注意点
3. float型の特徴と注意点

float型は、最も基本的な浮動小数点型です。 小数を扱うことはできますが、精度はそれほど高くありません。 例えるなら、目盛りがやや粗い定規を使って測っている状態です。

float型は、細かさよりも処理の軽さを重視する場面で使われます。 例えば、簡単な計算や大まかな数値で十分な場合に向いています。 しかし、細かい計算をすると、思った通りの結果にならないことがあります。


#include <iostream>

int main() {
    float value = 0.1f + 0.2f;
    std::cout << value << std::endl;
    return 0;
}

0.300000

この例では、見た目は〇点三になっていますが、内部では完全に正確な値ではありません。 float型では、このような小さな誤差が起きやすいことを覚えておくと安心です。

4. double型がよく使われる理由

4. double型がよく使われる理由
4. double型がよく使われる理由

double型は、float型よりも精度が高い浮動小数点型です。 名前の通り、floatよりも倍くらい細かく数字を表現できます。 定規で言えば、目盛りがとても細かくなった状態です。

C++では、小数を扱うときに特別な理由がなければdouble型がよく使われます。 精度と使いやすさのバランスが良く、多くの計算で安心して使えるためです。


#include <iostream>

int main() {
    double price = 19.99;
    double tax = 0.1;
    std::cout << price * tax << std::endl;
    return 0;
}

1.999

double型は、金額計算や測定値など、ある程度の正確さが必要な場面に向いています。 初心者の方は、小数を扱うときはまずdoubleを選ぶと覚えておくと迷いにくくなります。

5. long double型はどんなときに使うか

5. long double型はどんなときに使うか
5. long double型はどんなときに使うか

long double型は、さらに高い精度を持つ浮動小数点型です。 非常に細かい数字まで表現できるため、科学計算や高度な計算で使われます。

ただし、long double型は環境によって精度が異なることがあります。 また、初心者が使う場面はほとんどありません。 とても正確な計算が必要になったときに存在を思い出す程度で問題ありません。


#include <iostream>

int main() {
    long double pi = 3.141592653589793238L;
    std::cout << pi << std::endl;
    return 0;
}

3.14159

long double型では、数値の後ろにLを付けることで、高精度の数値であることを示します。 扱える桁数が多い分、計算も重くなることを覚えておきましょう。

6. 浮動小数点型の使い分けをどう考えるか

6. 浮動小数点型の使い分けをどう考えるか
6. 浮動小数点型の使い分けをどう考えるか

浮動小数点型の使い分けで大切なのは、「どれくらい正確な数字が必要か」を考えることです。 大まかな計算でよければfloat型、迷ったらdouble型を選ぶと失敗しにくくなります。

long double型は特別な場合に使うものと考えて問題ありません。 C++の変数とデータ型を理解することは、プログラミングの基礎になります。 小数の精度の違いを知ることで、思わぬ計算ミスを防ぐことができます。

パソコンを触ったことがない方でも、定規や箱のたとえで考えることで、 float、double、long doubleの違いは少しずつ理解できるようになります。 焦らず、数字の扱いに慣れていきましょう。

カテゴリの一覧へ
新着記事
New1
C++
C++のグローバル変数とローカル変数の違いを完全解説!初心者でもわかる基本と使い分け
New2
Rust
Rustプロジェクト管理とビルドの完全ガイド!Cargoの使い方とCargo.tomlの設定を初心者向けに徹底解説
New3
C言語
C言語のsizeof演算子で型サイズを調べよう!初心者でもわかる変数とデータ型の仕組み
New4
C++
C++の変数のスコープと有効範囲を完全解説!初心者でもわかる基本と考え方
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.2
Java&Spring記事人気No2
C言語
C言語の関数定義と呼び出しを完全ガイド!初心者でも分かる基本の書き方
No.3
Java&Spring記事人気No3
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.4
Java&Spring記事人気No4
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.5
Java&Spring記事人気No5
C言語
C言語の配列と文字列の基本を完全ガイド!初心者でもわかる宣言と使い方
No.6
Java&Spring記事人気No6
C++
CMakeの基本構文とCMakeLists.txtを初心者向けに解説
No.7
Java&Spring記事人気No7
C言語
C言語の開発環境をWindowsに構築する方法【Visual Studio編】
No.8
Java&Spring記事人気No8
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作