プログラミングを学んでいるとE表記(例:3.4E38)に出会うことがあります。
でも最初は「Eってなに?」と混乱しますよね。
この記事では、実際に筆者がJavaで指数を試してみて「数が指数的に増える」感覚を体験したときの気づきを紹介します。
指数とは?
指数とは、同じ数を何回かけるかを表す記号です。 たとえば 2³ は 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乗)を表す科学的記数法。


コメント