実際にJavaで指数を計算してみた!E表記の意味がスッキリわかる

プログラミングを学んでいるとE表記(例:3.4E38)に出会うことがあります。

でも最初は「Eってなに?」と混乱しますよね。

この記事では、実際に筆者がJavaで指数を試してみて「数が指数的に増える」感覚を体験したときの気づきを紹介します。


指数とは?

指数とは、同じ数を何回かけるかを表す記号です。 たとえば 2×2×2=8 を意味します。

つまり「3乗」とは「2を3回かける」ということ。 かける回数が増えるほど数字が一気に大きくなるのが「指数的に増える」という現象です。


floatやdoubleに出てくるE表記は「10のn乗」を意味する

Javaのリファレンスを見ていたとき、
floatの範囲が1.4E−45~3.4E38と書かれていて最初は何のことかわかりませんでした。

「Eってなに?38乗ってどういうこと?」となりましたが、

実はこの「E」は指数表記を表していて「10の何乗かを掛ける」という意味を持っています。

つまり、E3 なら 10³(=1,000)、E−2 なら 10⁻²(=0.01)のように読み替えることができます。

この書き方は、非常に大きな数や非常に小さな数を簡潔に表すために使われ、 プログラミングでも浮動小数点(floatやdouble)の範囲を示すときによく登場します。


Javaで指数を実際に計算してみた

実際にJavaを使って指数を計算してみましょう。

ここでは、3 × 10^20(=3E20)を作るコードを書いてみます。

// 仮数部
float mantissa = 3f;

// 指数部(10の20乗)を作る
float power = 1f;
for (int i = 0; i < 20; i++) {
    power *= 10;
}

// 2つを掛け合わせて値を作る
float result = mantissa * power;

System.out.println("3 × 10^20 = " + result);

上記のコードで出力される値は以下の様になります

3.0E20

実際にコードを書いてみると、
「E表記は特別な記号ではなく、ただの10のn乗を表す便利な書き方」だと体感できます。


まとめ

  • 指数は「何回かけるか」を表す数。
  • E表記 は指数(10のn乗)を表す科学的記数法。

コメント

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