※この文書はまだ校正がすんでいません.不正確な情報を含んでいる可能性があります.
IEEE754-1985で,明確な用語定義が与えられているのは, significand(仮数部)とfraction(小数部)の2つである([1] 2. Definitions). ただし,presision(精度)とsignificand(仮数部)の関係については, 本文中で“仮数部のビット数(the number of significant bits)を精度(precision)”と言い換えている箇所がある([1] 3.1 Set of Values)ため明確になっており, 図表や本文中の説明からもprecision(精度)の明確な定義が読み取れることから,正式な用語と考えてよいだろう.
これらとよく似た表現に,“mantissa”と“decimal part”(“integer part”の対義語としての“decimal part”)があるが, 規格ではこれらの語の定義は与えられていない.
用語 | 意味 |
---|---|
fraction 小数部 |
指数部を考慮して小数点位置を決めたのちの,小数点位置より右側の部分. つまり数学で整数部・小数部というときの小数部. |
significand 仮数部 |
暗黙の1を含めて,整数部と小数部の両方を含めた部分. |
precision 精度 |
仮数部のビット数(the number of significant bits)と同じ意味. 暗黙の1を含む. 仮数部と同じ意味でも使われるが,本来は部分を指す語ではなく, 誤差がどれくらいか・真値にどのくらい近いかを議論しようとするときに使う語. |
以下はIEEE 754-1985では用語として定義されていない | |
mantissa | |
decimal part |
図示すると以下のような感じ.
(1).23456789×10^2 = 123.456789 <----> fraction 小数部 <----------> <--------> significand 仮数部 <-> 暗黙の1
※significandはsignificantの名詞形.
[以下,覚え書きです.あまり正確な議論ではありません.後日追加調査の上,書き換える可能性があります.]
仮数部のことを普通はマンティッサ(mantissa)と呼んでいるんだけど, Intelではシグニッフィカンド(significand)=形容詞形でシグニッフィカント(significant), PowerPCではフラクション(fraction)と呼んでいて混乱しやすい. 通常フラクションという語は,小数点以下の部分(以下,小数部)を指す語として使われることが多いが,IEEE形式の浮動小数点数では, 仮数部が保持している値はすべて小数部分であるため,仮数部=小数部(フラクション)がなりたっている点も混乱のもとになっていると思われる. さらに,小数点より上の部分を“integer part”,小数点以下を“decimal part”と呼ぶ人もいるので,これにも注意が必要.
“精度(precision)が64ビット”といったときは,仮数部だけで64ビットの意味で, 符号ビットと指数部を含んだ全体の長さは80ビットの拡張倍精度型の意味になるので混乱しないように気をつける.