質問: 浮動小数点数について 参考書に「3.14」のような小数点表現に、e(またはe)を使う。 たとえば、「1e2」、「1e+2」は「100」、 「1e-2」は「0.01」を表す。 と書いてあったのですが、 「e」はどういう意味で、どうして例題のような答えに なるのですか?
回答: eは指数部(exponential part)、冪乗(exponential)の意味です。 e(e)は単精度指数型表現の実数定数の指数部の前に置かれ、d(d)は倍精度(double precision)指数型表現の実数定数の指数部の前に置かれます。 e(e)やd(d)が実数の定数データの中で使われるとき、 基数が10であること、それらの前が仮数部、それらの後が指数部というプログラム言語の約束事(文法)ですね。aeb(aeb, ae+b),adb(adb,ad+b)などの実数定数があったら、 ax10^b と置き換えて考えてください。 ちなみに、1.0e+2=1.0x10^(+2)=100.0で 1.0は仮数部,10は基数,+2は指数部と言っています。 同様に、0.5e-2=0.5x10^(-2)=0.005 ですね。 これはプログラム文法の約束ごとであって、どうしてそうなるかではなく、そう決められているのです。 歴史的には、科学技術用の汎用大型計算機を開発し世界中に広めた米国ibm社がfortranというプログラム言語の文法仕様の中で指数部を持つ実数型データの表現法として採用したものが、現在広く使われているということです。