ブログの説明

学校に通わないで学んだことを記しています。間違っているところが何かありましたらご指摘下さると幸いです。コメントに対する返信が遅れる可能性があります。その場合は申し訳ありません。

このブログではサイドバーに広告を表示しています。このブログ内の投稿記事を検索するには右上の拡大鏡のアイコンを、アーカイブやラベル付けから投稿記事を閲覧するには左上の三重線のアイコンをクリックして下さい。

数式の表示にはMathJaxを利用させていただいています。数式の表示のためにJavaScriptが有効である必要があります。そうでない場合、訳の分からないLatexのコードが表示されます。幾何学図形やチャートの表示にはHTML5 CanvasやGoogle Chartを使用しています。その表示のためにもJavaScriptが有効である必要があります。

指数表記、科学的記数法、工学的記数法、浮動小数点数

科学雑誌や理系の教科書やコンピュータ・プログラミングの書物で次のような数値表記を目にすることがよくある。

\[ 5.972 \times 10^{24} \] \[ 6.62607015 \times 10^{−34} \] \[ 6.02214076 \times 10^{23} \]

これらは日本語では指数しすう表記という名前で知られている。英語ではscientific notation(科学的記数法)やstandard index form(標準指数形)と呼ばれている。

指数表記では0以外の数値を次のように10の累乗を掛けた式にして表す。

\[ m \times 10^n \]

以下、mを仮数部、10を基数部、nを指数部と呼ぶことにする。

コンピュータ科学の分野ではEまたはeを使って指数部を表記する。

\[ mEn \] \[ men \]

指数表記を通常の記数法へ変換

指数表記を通常の記数法に変換する方法はその指数部が正の数か負の数かで異なる。

指数部が正の数である場合、仮数部(かけられる数)の小数点を指数部の数だけ右へ移動させる。そして空白の桁には0を与える。例えば次のように。

\[ 4.9 \times 10^6 = 4900000.0 = 4900000 \]

4.9の小数点を右へ6桁移動させると0の桁が5つ加わって4900000になる。これで変換完了。

指数部が負の数である場合、仮数部の小数点を指数部の数だけ左へ移動させる。そして空白の桁には0を与える。例えば次のように。

\[ 4.9 \times 10^{-6} = 0.0000049 \]

4.9の小数点を左へ6桁移動させると\( \dfrac{1}{1000000} \)になって0.0000049になる。これで変換完了。

指数表記へ変換

通常の記数法で表されている数値を指数表記に変換するには次のようにする。

ここでは203000000を例に挙げる。

  1. 小数点を最大桁の右隣りまで左へ移動させる。 \[ 203000000 \Rightarrow 2.03000000 \]
  2. その小数点から右に何桁あるか数える。この例では8桁。指数部が8と決まる。
  3. 有効数字(この例では2.03)を残して残りの0の桁を削除。 \[ 2.03000000 \Rightarrow 2.03 \] これで仮数部が決まる。
  4. 最後に仮数部と基数部と指数部とを組み合わせて式にすれば指数表記への変換が完了。 \[ 203000000 = 2.03 \times 10^8 \]

ここで言うところの有効数字とは、0以外の数がある桁とそれらに挟まれた0の桁を残してそれ以外の0の桁を省いた数のこと。7036000なら7036が有効数字、0.030052なら30052が有効数字。

小数の場合は次のように変換する。ここでは0.0000683を例に挙げる。

  1. 小数点より左の0を取り除く。 \[ 0.0000683 \Rightarrow .0000683 \]
  2. 小数点を有効数字の中で最大の桁の右隣りまで移動させる。 \[ .0000683 \Rightarrow 00006.83 \]
  3. 0の桁を含めて小数点よりも左に何桁あるかを数える。この例では5桁あることが分かる。
  4. 5に-1を掛けて-5にすると、この-5が指数部の値になる。
  5. 有効数字以外の左側の0の桁をすべて取り除く。この値が仮数部になる。 \[ 00006.83 \Rightarrow 6.83 \]
  6. 最後に仮数部と基数部と指数部とを組み合わせる。これで指数表記への変換が完了。 \[ 0.0000683 = 6.83 \times 10^{-5} \]

計算機(電卓やコンピュータ)での指数表記

主要な電卓や主要なコンピュータ・プログラミング言語での指数表記では、10の累乗を掛ける代わりにEもしくはeが用いられていることが多い。

\[ mEn \]

例えば次の表記は等式で並べられたもの同士がそれぞれ等しい数を表している。

4900000 = 4.9 * 10^6 = 4.9E6 = 4.9e6 = 4.9e+6 = 4.9e+06
0.0000049 = 4.9 * 10^-6 = 4.9E-6 = 4.9e-6 = 4.9e-06
203000000 = 2.03 * 10^8 = 2.03E8 = 2.03e8 = 2.03e+8 = 2.03e+08
0.0000683 = 6.83 * 10^-5 = 6.83E-5 = 6.83e-5 = 6.83e-05

プログラミング言語の種類によってはこれらと異なる表記法が使われている。

工学的記数法

指数表記の指数部を3の倍数で表す工学的記数法というものがある。英語ではengineering notationとかengineering formと呼ばれているらしい。

指数部が3の倍数となる累乗は単位名称によく使われる接頭辞に次のように対応している。

\( m \times 10^3 \) mE3 キロ (k)
\( m \times 10^6 \) mE6 メガ (M)
\( m \times 10^9 \) mE9 ギガ (G)
\( m \times 10^{12} \) mE12 テラ (T)
\( m \times 10^{15} \) mE15 ペタ (P)

浮動小数点数

計算機で用いられ、プログラミング言語でもお馴染みの浮動小数点数は、指数表記と同じ構造を持っている。

\[ S \times B^e \]

Sの部分は日本語で仮数部、英語ではsignificandと呼ばれ、Bの部分は日本語で基数部、英語ではbaseと呼ばれ、eは日本語で指数部、英語ではexponentと呼ばれている。

ちなみに浮動小数点数は英語ではa floating-point numberと呼ばれている。

浮動小数点数は計算機内ではバイナリーナンバー、つまり2進数として扱われる。2進数の場合、基数部が10ではなく2になり、仮数部と指数部のすべての桁が0か1になる。

コメント

このブログの人気の投稿

Visual Studio 2019にはC++のためのフォームデザイナーがない件

10の補数と9の補数と2の補数と1の補数

LATEXで数式:指数と順列などで使う添数・添字