首页 文章

标准化浮点表示

提问于
浏览
1

我正在努力帮助某人完成一些功课,而我却得到了错误的答案 .

问题是:

代表〖-0.109375〗_10在归一化浮点表示中具有5位小数2的补码尾数和3位整数2的补码指数 .

我写了以下笔记:

让我们找出问题的答案:〖-0.109375〗_10第1步:转换为二进制 .

0 0. 0 0 0 1 1 1 0 0

〖 - (00.00011100)〗_ 2

第二步:乘以1(2 ^ 0)〖 - (00.00011100)〗_ 2 x 2 ^ 0

第3步:转移以使尾数整数我们需要向左移6个为什么?因为我们有0.000111 Shift 1 = 00.00111 Shift 2 = 000.0111 Shift 3 = 0000.111 Shift 4 = 00001.11 Shift 5 = 000011.1 Shift 6 = 0000111

因此我们得到了 - (〖111〗_2)x 2 ^( - 6)

第4步:转换尾数 . 在这个问题中,我们被要求转换为二进制补码(5位小数)因此我们需要将 - 111转换为二进制补码并将其设为5位

步骤A:转换为1的补码(5位)-00111 = 11000步骤B:转换为2的补码(5位)11000 00001 =〖11001〗_2

第5步:转换指数顶部2位二进制补码2 ^( - 6)

因此我们需要将-6转换为二进制(二进制补码)步骤A:转换为二进制1 1 0

步骤B:转换为1的补码(3位)110 = 001

步骤C:转换为二的补码010

答案是,〖11001 010〗_2

正如你所看到的,2 ^ -6对于3位二进制补码似乎是错误的 .

谁能指出我可能做错了什么?

1 回答

  • 1

    通常,有效数(不是mantissa1)被移位,因此最重要的一位处于某个位置,而不是有效数是一个整数 . IEEE 754格式将有效数归一化为1.ddd ... d,其中每个d是所用基数中的一个数字 .

    移动您的值以将第一个位移动到该位置会产生-4的指数 . 你会得到-1.1102•2-4 . 为了在二进制补码中表示有效数,我们在左边添加另一位,产生-01.1102•2-4,然后应用否定为有效数产生10.010,为指数产生100 .

    但是,细节可能会有一些变化 . 有效数是否标准化为1.ddd ... d或.1ddd ... d?在添加符号位之前或之后有效位是五位吗?

    您是否拥有此格式的已知表示值的示例?或者有关格式的更多细节?


    1“重要”是首选术语 . 有效数是线性的;尾数是对数的 .

相关问题