C++ で整数を倍精度型へ安全に代入する方法

目次

概要

整数型の変数を倍精度浮動小数点型へ代入すると、小数部は存在しないものの精度の高い演算や後続処理に対応しやすくなります。C++ では暗黙の型変換(整数 → 倍精度浮動小数点)が行われるため、特別なキャストを記述しなくても代入が可能です。本記事では、整数を double へ代入する最小構成のプログラムを示し、動作確認のポイントを整理いたします。

サンプルコード

// 整数型の値を double 型へ代入し表示するサンプル
#include <iostream>

int main(int /*argc*/, char* /*argv*/[])
{
    int    heightCm   = 175;                          // 整数型の宣言と初期化
    double heightPrec = 0.0;                          // 倍精度型の宣言と初期化

    std::cout << "身長は " << heightCm << " センチです。\n";
    std::cout << "double 型の変数へ代入します。\n";

    heightPrec = heightCm;                            // 暗黙型変換を伴う代入

    std::cout << "身長は " << heightPrec << " センチです。\n";
    return 0;
}

コード解説

説明
2#include <iostream> により標準入出力を利用いたします。
4main 関数はプログラム開始点で、未使用引数はコメントにより警告を抑止しています。
6int heightCm = 175; で整数型変数を宣言し初期値を設定します。
7double heightPrec = 0.0; で倍精度浮動小数点型変数を宣言します。
9事前に整数値を出力し、代入前の状態を確認します。
10説明文を表示し、これから行う処理を明示します。
12heightPrec = heightCm; により暗黙の型変換が発生し、整数値が double として格納されます。
14変換後の値を出力し、代入が成功したことを確認します。
15return 0; はプログラムの正常終了を示します。

応用

暗黙の型変換は利便性が高い反面、意図しない精度変更を招く場合があります。演算式の途中で整数と double が混在する場合、結果がすべて double で計算されるため、必要に応じて static_cast<int> などを用いて型を明示すると安全です。また、逆方向(doubleint)への代入では小数部が切り捨てられるため、変換前後の値に差が生じる点に留意してください。

まとめ

整数型から倍精度浮動小数点型への代入は、暗黙の型変換によって簡潔に実装できます。今回のサンプルでは、整数値を double へ代入後、そのまま出力して確認しました。精度を維持した演算や大きな値を扱う際には、適切な型選択と明示的なキャストを組み合わせることで、安全かつ可読性の高いコードを保てます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次