1

私の教授は、IEEE 浮動小数点形式を扱っている最終試験の練習問題を調べました。Binary は 5 ビット表現で、あるケースでは Minus Zero を使用していました。各表現には、1 つの符号ビット、3 つの指数ビット、および 1 つの小数ビットがあります。

彼は 1 0000 の 2 進数表現を持っていると調べましたが、これは私が理解していることです。仮数 M は 0 です。これは、分数フィールドが 0 であるため、非正規化された値の仮数 M = f = 0 であるためです。

しかし、彼は指数値 E を -3 としました。

これは、わかりません。マイナス 0 は非正規化されていると思いました! 私の本は言う

「指数フィールドがすべてゼロの場合、表現される数値は非正規化された形式になります。この場合、指数値は E = 1 − Bias であり、有意桁の値は M = f です。つまり、分数フィールドの値です。暗黙の先行 1 です。」

マイナス 0 は非正規化されているため、E は 1 - 3 (バイアス) = -2 になるはずですよね?

私の本では、4 つの指数ビット、3 つの小数ビット、および 7 (2^4 -1) のバイアスを持つ IEEE 8 ビット浮動小数点形式の正の 0 は、-6 の指数値 E を持ちます。これは、E = であるため正しいです。非正規化されているため、1 - 7 (バイアス)。

この場合、なぜ違うのでしょうか?それとも、私の教授は間違いを犯しましたか?

4

1 に答える 1

3

ゼロはデノーマルと同じ指数を使用し、その表現がデコードされたときに先頭の 1 ビットがありません。必要に応じて「非正規化」と呼ぶこともできますが、他の人はこの言葉をより厳密な意味で使用する可能性があることに注意してください (つまり、0 と浮動小数点数の非正規化クラスを考慮します)。

-3 に関しては、指数の偏りのあるバージョンと偏りのないバージョンの間で変換するときの偏りの値の間違いでしょう。深読みしないでください。重要なことは、非正規数の指数は「すべてのビットがゼロ」として表され、それが持つことができる値の範囲の最小値であることを覚えておくことです。

于 2015-03-23T07:02:20.690 に答える