ニ☆ウ☆ト☆ラ☆ボ

タイトルテスト中

IEEE 754 浮動小数点数

\( \DeclareMathOperator{\Inf}{Inf} \DeclareMathOperator{\NaN}{NaN} \)倍精度浮動小数点数(64 ビット): \[ s E_1 \cdots E_{11} d_1 \cdots d_{52} = (-1)^s \times (1. d_1 \cdots d_{52})_2 \times 2^{E - 1023}, \quad E = (E_1 \cdots E_{11})_2. \] 単精度浮動小数点数(32 ビット): \[ s E_1 \cdots E_{8} d_1 \cdots d_{23} = (-1)^s \times (1. d_1 \cdots d_{23})_2 \times 2^{E - 127}, \quad E = (E_1 \cdots E_8)_2. \] \( (1.d_1 \cdots \,) _2 \) という表記は, 2 進法であることを表しております.

以下は, 倍精度の場合であります。

\( E = 0 \)非正規化数
\( E = 1 \sim 2046 \)正規化数
\( E = 2047 \)無限大と NaN (Not a Number)
非正規化数: \[ \begin{array}{ccccccccl} s & E_1 & \cdots & E_{11} & d_1 & \cdots & d_{52} & = & (-1)^s \times (0. d_1 \cdots d_{52})_2 \times 2^{-1022} . \\ & 0 & \cdots & 0 & & & & & \end{array} \] ゼロにもプラスマイナスがあるのであります。
正規化数: 最初に述べたものであります. \[ \begin{array}{ccccccccl} s & E_1 & \cdots & E_{11} & d_1 & \cdots & d_{52} & = & (-1)^s \times (1. d_1 \cdots d_{52})_2 \times 2^{E-1023} . \end{array} \]
無限大( \( d = 0 \) ): \[ \begin{array}{ccccccccl} s & E_1 & \cdots & E_{11} & d_1 & \cdots & d_{52} & = & (-1)^s \times \Inf . \\ & 1 & \cdots & 1 & 0 & \cdots & 0 & & \end{array} \] NaN( \( d \neq 0 \) ): \[ \begin{array}{ccccccccl} s & E_1 & \cdots & E_{11} & d_1 & \cdots & d_{52} & = & \NaN . \\ & 1 & \cdots & 1 & & (\, \neq 0 \,)& & & \end{array} \]
浮動小数点数 \[ s E_1 E_2 E_3 d_1 d_2 = (-1)^s \times (1. d_1 d_2)_2 \times 2^{E - 3} \]

の全体は, 以下のようになるのであります.

f:id:ddkd:20161009213813p:plain

IEEE 754 では, 4 つの丸めモードが定義されているのであります.

  1. 上方向への丸め、あるいは、\( + \infty \) 方向への丸め: f:id:ddkd:20161011170927p:plain
  2. 下方向への丸め、あるいは、\( - \infty \) 方向への丸め: f:id:ddkd:20161011170941p:plain
  3. 切り捨て、あるいは、\( 0 \) 方向への丸め: f:id:ddkd:20161011170956p:plain
  4. 最近点への丸め: f:id:ddkd:20161011171012p:plain ちょうど中間にある場合はどうするの? → 最下位ビット(右端)がゼロの方へ丸めます。 f:id:ddkd:20161011171021p:plain
終わり。
広告を非表示にする