0

10 進数から IEEE-754 単精度バイナリ表現に変換する方法を理解しようとしています。

たまたま 601.00 である乱数を作成します

私はそれを理解するために最善を尽くしましたが、これが私が得たものです:

ステップ 01: 601 を 9 で割りました (2^9 は私の数で割り切れる最大の 2 のべき乗であるため) 66.7778 を得ました。

ステップ 02: 指数は 9 + 127 = 136 で、バイナリでは 10001000 です。ステップ 03: 符号は 0

現在の表現は次のとおりです: (仮数がありません) 0 10001000

しかし、バイナリで 66.7778 の仮数表現は何ですか?

4

1 に答える 1

3

ステップ 1 は、601 を 9 ではなく 2^9 で割ります。

仮数を取得するには、除算の結果から 1 を引き、2^23 を掛けます。積の整数部分を 2 進数で表します。(601 - 2^9) * 2^14 を乗算することになるように、2 つのステップを折りたたむことができます (折りたたむ必要があります)。

于 2012-09-23T16:47:20.320 に答える