我正在努力帮助某人完成一些功课,而我却得到了错误的答案 .
问题是:
代表〖-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 回答
通常,有效数(不是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“重要”是首选术语 . 有效数是线性的;尾数是对数的 .