1

0.031258 ビット マシンを使用して、正規化された浮動小数点形式で表現します。符号は 1 ビット、指数は 3 ビット、仮数は 4 ビットです。

指数は 3 を超える形式で格納され、仮数は基数ポイントの 1 桁/ビット前に調整されます。

あ、ごめんなさい!これは、stackoverflow での最初の投稿であり、この種のサイトには慣れていません。私の答えは 0 100 0001 で、それが正しいかどうかわかりません。正の値があるので符号は 0 で、指数は 100 だと思います。それに対する答えは 0001 です。私の英語がかなり下手なので、この質問のやり方を明確に説明できたことを願っています。質問の仕方を訂正していただきありがとうございます。

4

1 に答える 1

1

「excess-3」指数形式 (3 ビット指数から予想される)は、指数ビットのバイアスを与えます。2^(k - 1) - 1(3)(k = 3)

これは、範囲内の指数を表すことができることを示唆しています: {-3, 4}. つまり、3 ビットの指数(E)パターン:が与えられた{000, 001, .., 111} = {0, 7}場合、指数(e)はバイアスを減算することによって求められます。E = 0暗示されるように、そうではありませんe = 1 - bias非正規表現用に予約された特別な値。

を使用Eして指数の格納されたビットをe表し、 を表すために、先頭のバイナリ形式が得られるまで 2 をE - bias掛け続けます。この先頭のビットは、正規化された浮動小数点数で暗示されます。この場合、与えられた値は (便利なことに) (2) の累乗です。(0.03125)1.xxxx1.0.03125 = 1/32 = 2^(-5)

1.0000 x 2^(-5)(-5):指数を格納できません。

暗黙的なリーディング1.xは の最小値を与えるため、正規化さ1 x 2^-2 = 0.25れた表現を使用することはできません- ご覧のとおり:

0.1000 x 2^(-4)(-4):指数を格納できません。

0.0100 x 2^(-3)(-3):指数を格納できません。


1.xxxx正規化された数値は、実際には格納されていない などの先行ビットを意味します。右側の値は 、 、 、 などと解釈されます1/21/4これ1/81/16、10 進数システムが連続する数字を 、 、 などの分数として解釈するのと10同じ100です1000

これにより、非正規化または「非正規化」値のエンコードが可能になります。E = 0orは、e = (-2)先行ビットが0であることを意味する特別な値であり、有効桁数を示します。0.xxxx

e = (-2)指数は依然として->として解釈され2^e = 1/4ます。そのため、仮数:[0.]0010は次のようになります(1/8) * 2^e = 1/32 = 0.03125

これにより、(非正規化) 8 ビット浮動小数点表現が得られます: [0][000][0010]または: (00000010)


Q: 以前の回答を見せていただけますか: (01000001) の値は 2.125 ですか?

于 2015-08-21T16:50:49.317 に答える