【C++学習|初心者向け】C++で大きな数や小さな数を扱う!指数表記(e)の使い方入門

1. 導入:なぜ指数表記が必要なのか?

C++でプログラムを書いていると、天文学的な大きな数値や、逆に原子レベルの非常に小さな数値を扱う場面が出てきます。例えば、光の速度や微細な物理定数などを、0を何個も並べて記述するのは大変ですし、何より読み間違いや入力ミスの原因になります。そこで役立つのが「指数表記」です。この表記法を使えば、大きな数や小さな数を簡潔かつ正確にコードへ書き込むことができます。

2. 基礎知識:指数表記(e)の仕組み

指数表記とは、数学の「科学的記数法」をプログラムで表現したものです。C++では、数値の後ろに「e」または「E」を付け、その後に10の何乗であるかという整数を記述します。

例えば「1.2e-3」という記述は、「1.2 × 10のマイナス3乗」という意味になります。
・eの後ろがプラス(例: 1.2e+3)なら、1000倍(1200)
・eの後ろがマイナス(例: 1.2e-3)なら、1000分の1(0.0012)
というルールです。これにより、0の数を数え間違えるリスクを劇的に減らすことができます。

3. 実装・解決策

指数表記を利用する際は、変数の型として「double」や「float」などの浮動小数点型を使用します。記述する際は、eの前の数値は小数である必要はなく、整数でも問題ありません。ただし、計算の精度に関わるため、基本的にはdouble型を使うのが一般的です。

4. サンプルプログラム

以下のコードをコピーして、ご自身の環境で実行してみてください。数値の書き方と、それがどのように出力されるかを確認できます。

#include
include

int main() {
// 指数表記を用いた変数の定義
// 1.2e-3 は 0.0012 を意味します
double small_val = 1.2e-3;

// 3.0e5 は 300000.0 を意味します
double large_val = 3.0e5;

// 結果の表示
std::cout << "0.0012の表現: " << small_val << std::endl; std::cout << "300000.0の表現: " << large_val << std::endl; // 計算に使うことも可能です double result = 2.0 1.5e2; // 2.0 150 = 300 std::cout << "計算結果: " << result << std::endl; return 0; }

5. 応用・注意点

指数表記を扱う上で、初心者が陥りやすいポイントがいくつかあります。

・精度の問題:浮動小数点数は、非常に大きな数や小さな数を扱う際に「丸め誤差」が発生することがあります。厳密な金額計算などには向かないため、あくまで科学計算や物理シミュレーションの範囲で使用するようにしましょう。
・出力形式の制御:デフォルトの出力では、数値が一定以上の大きさになると、勝手に指数表記で表示されることがあります。もし「常に普通の数値形式で表示したい」「小数点以下の桁数を固定したい」という場合は、ヘッダの「std::fixed」や「std::setprecision」を組み合わせて使用することで、表示を細かく制御できます。

この指数表記を使いこなすことで、複雑な数値を扱うプログラムがぐっと見やすくなります。ぜひ活用してみてくださいね!

コメント

タイトルとURLをコピーしました