3

IEEE 浮動小数点形式に基づく次の 8 ビット (はい、8 ビット、8 バイトではありません) 浮動小数点表現を検討してください。

  1. フォーマット A:
    1 つの符号ビットがあります。
    k=3 指数ビットがあります。
    n=4 小数ビットがあります。

  2. フォーマット B:
    1 つの符号ビットがあります。
    k=4 の指数ビットがあります。
    n=3 小数ビットがあります。

以下に、パターン A のいくつかのビット パターンを示します。あなたのタスクは、形式 A で指定された数値の値を見つけ、それらを形式 B の最も近い値に変換することです。

Format A                       Format B
  Bits             Value          Bits 
  1 010 1000 
  1 110 0000 
  0 101 1010 
  0 000 1001

これは宿題です... 課題を終わらせたくありません。変換方法を知りたいだけです。浮動小数点は私を非常に混乱させます。

誰かが「フォーマットA」を作成して、値を取得/変換する方法を段階的に示してもらえますか?

4

1 に答える 1

3

この質問には、浮動小数点形式を定義するために重要な多くの詳細が欠けています。不明な情報はすべて、IEEE Std 754-2008 IEEE Standard for Floating-Point Arithmetic のバイナリ交換フォーマットの一般的なルールに従っていると仮定して、不足している情報を埋める質問の最初の部分に答えようとします。

標準の表 3.3 に関して、形式 A に指定されたパラメータは、k =8 およびp =5 です (イタリック体の文字は標準のパラメータであり、問​​題ではありません)。

それと、標準の式から、bias = emax = 2**( k - p - 1) - 1 = 3.

例のビットを取る 0 001 0011

分数は、2 進数では 0011/10000、10 進数では 3/16 = 0.1875 です。指数ビットは非ゼロであるため、通常の値であり、先頭の 1 ビットは格納されていないため、仮数は 1.1875 です。

指数は、2 進数では 001 から 011、10 進数では 1 から 3 = -2 です。

仮数に 2**(-2) = 1/4 を掛けると、絶対値 0.296875 が得られます。符号ビットがゼロなので、絶対値が最終値です。

于 2013-09-09T21:56:02.117 に答える