浮動小数点数小話
概要
浮動小数点数の各種話題を取り扱っています。
筆者がこれまでにブログ、Qiita等に書いた内容の一部と、新規の書き下ろしを含みます。
目次
- はじめに
- 第1章 浮動小数点数の基礎
- 1.1 浮動小数点数とは
- 1.2 浮動小数点数の規格
- 1.3 浮動小数点形式
- 1.4 浮動小数点数の数学的な見方
- 1.5 浮動小数点数のビット列による表現
- 1.6 IEEE準拠でない浮動小数点形式
- 第2章 十六進表記
- 2.1 浮動小数点数の十六進表記
- 2.2 二進浮動小数点数の十進表記
- 2.3 十六進表記が役立つ具体的な場面の例
- 第3章 FMA (fused multiply-add) の話
- 3.1 FMAとは、FMAを含む規格
- 3.2 FMAを使うコードの書き方
- 3.3 FMAの実装の落とし穴
- 3.4 ハードウェアFMA
- 第4章 丸め方法とその指定
- 4.1 丸め方法いろいろ
- 4.2 IEEE 754での規定
- 4.3 C言語での丸めの変更方法
- 4.4 各種アーキテクチャの対応状況
- 第5章 二段階丸めとその問題点
- 5.1 中間の精度が64ビットの場合の例 (x87 FPU)
- 5.2 FMAの間違った実装
- 5.3 十進数の場合
- 5.4 幅を縮小する演算
- 5.5 二段階で丸めても問題ない場合
- 5.6 奇数丸めの利用
- 第6章 浮動小数点例外
- 6.1 例外いろいろ
- 6.2 デフォルトの処理方法と状態フラグ
- 6.3 他の処理方法
- 6.4 C言語での扱い
正誤表
- 11ページ
- 誤:
0x1.23ap3
という表記は\(\bigl(1+\frac{2}{16}+\frac{3}{16}+\frac{10}{16^3}\bigr)\times 2^{32}\)という実数を表します。
- 正:
0x1.23ap3
という表記は\(\bigl(1+\frac{2}{16}+\frac{3}{16}+\frac{10}{16^3}\bigr)\times 2^{3}\)という実数を表します。
- 51ページ
- 誤:denormalized operanod
- 正:denormalized operand
「だめぽラボ」のページトップへ