2017-10-13 30 views
2

私はそのような数があれば知っている:IEEE-754の32ビット(単精度)指数-126の代わりに-127

1 | 1001 0001 | 0011 0011 0000 0001 0101 000 
1 sign bit | 8 bit biased exponent | 23 bit fraction/mantissa 

を私は(バイアス127を減算することにより、「真の」指数を算出することができます0111 1111)をバイアスされた指数から減算する。私。 1001 0001 - 0111 1111 = 10010(その実際の指数は18である)

1,0011 0011 0000 0001 0101 000 * 2^18

だから今、私の質問:

(非正規化)している場合そのような番号:

0 | 0000 0000 | 0000 0000 0000 0000 0000 001 

なぜ指数が-126であり、-127でないのですか? 0000 0000 - 0111 1111 -127であるべきではない-126よう

0,0000 0000 0000 0000 0000 0001 * 2^-126及びません0,0000 0000 0000 0000 0000 0001 * 2^-127

おかげで、Aは、単精度浮動小数点2 -126の暗黙的な指数を有する非正規化

答えて

3

宜しく:

(-1)signbit×2 -126×0.significandbits

詳細はhttps://en.wikipedia.org/wiki/Single-precision_floating-point_formatを参照してください。

+0

なぜ、-126でないのですか-127 – knowledge

+2

@knowledgeしたがって、法線と非法線の間にはギャップがありません。最小の正規化された値は指数値1を持ち、これは2^-126に変換され、仮数部に1を意味します。したがって、値は2^-126 * 1.0です。非最大値の最大値は、仮数部に0を意味し、値は2^-126 * 0.11111111111111111111111です。 – dbush

関連する問題