1. ホーム
  2. c++

[解決済み] サブノーマル浮動小数点数とは何ですか?

2023-01-22 06:47:55

質問

その isnormal() 参照ページ には、こう書かれています。

与えられた浮動小数点数argが正常かどうか判断します。 ゼロでもサブノーマルでも無限でもなく、NaNでもない。

数値がゼロ、無限、NaNであることが何を意味するかは明らかです。しかし、subnormalとも書いてあります。どのような場合に正常値以下となるのでしょうか?

どのように解くのですか?

IEEE754規格では、浮動小数点数は2進科学記法で表現されます。 x  =  M  × 2 e . ここで M 仮数 であり e 指数 . 数学的には、指数は常に1≦0となるように選ぶことができます。  M  しかし、コンピュータ表現では指数は有限の範囲しか持たないので、0より大きく1.0×2より小さい数字がいくつか存在します。 e min . これらの数値は サブノーマル または 標準偏差 .

実際には、常に先頭の1が存在するため、仮数は先頭の1なしで格納されます。 を除いて を除いて、常に先頭の 1 が存在するからです。したがって、指数が最小でない場合は暗黙のうちに先頭の 1 が存在し、指数が最小の場合は存在せず、その数は劣等数であると解釈されます。

*) より一般的には、1 ≦  M  < となります。  B   は、任意のベース B 科学的表記法。