連載
浮動小数点演算のメリット:Q&Aで学ぶマイコン講座(17)(2/4 ページ)
マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、上級者の方からよく質問される「浮動小数点演算のメリット」についてです。
マイコンがサポートする
浮動少数点規格(IEEE 754)
コンピュータの使用が始まった当初から、浮動小数点の使用は常に求められてきましたが、実装の困難さから数十年間見送られてきました。IBM 704が浮動小数点数演算ハードウェアを量産機として世界で初めて採用したコンピュータで、1954年に発表されました。
しかし、FPUは、1985年にIEEE 754規格により標準化されるまで、製造業者ごとに異なるコーディング技術でメインフレームに実装されてきました。現在、一般的に使用されている規格は、2008年8月に制定されたIEEE 754-2008です。この規格では次のことを規定しています。
基本形式は次の章で詳しく説明します。その他の特別な数値は次のようなものがあります。
1.数値のフォーマット
- 非正規化数(指数部の全ビットが“0”、仮数部が“0”以外)
- 無限大(指数部が全ビットが“1”、仮数部が全ビット“0”)
- 非数:NaN(指数部が全ビット“1”、仮数部が“0”以外)
- 符号付き“0”
2.算術演算
- 加算
- 減算
- 乗算
- 除算
- 剰余算
- 平方根
3.数値変換
- 浮動小数点数から整数
- 丸め浮動小数点数から整数値
- 2進数-10進数変換
- 比較
4.丸め規則(端数処理:算術や変換の際に数を丸める方式)
- 最近接丸め:デフォルトの丸め方。2つの近接値の中間の値の場合、仮数のLSBが0になる値を採用。
- 方向丸め:ユーザーで選択可能な3つの方向丸めモード。+∞、−∞又は0に近い側への丸め。
5.5つの例外とその処理方法:例外的状態の通知
- 無効な演算
- 0による除算
- オーバーフロー
- アンダーフロー
- 不正確な結果
Copyright © ITmedia, Inc. All Rights Reserved.