我正在努力帮助某人完成一些功课,但我得到了错误的答案。
问题是:
在标准化浮点表示中表示〖-0.109375〗_10 具有5位小数的二进制补码尾数和一个3位 整数二的补数指数。
我写了以下笔记:
让我们找出问题的答案: 〖〗-0.109375 _10 第1步:转换为二进制。
0 0. 0 0 0 1 1 1 0 0
〖 - (00.00011100)〗_ 2
第2步:乘以1(2 ^ 0) 〖 - (00.00011100)〗_ 2 x 2 ^ 0
步骤3:移动以使尾数整数 我们需要向左移6个班次 为什么? 因为我们有0.000111 班次1 = 00.00111 班次2 = 000.0111 班次3 = 0000.111 班次4 = 00001.11 班次5 = 000011.1 班次6 = 0000111
因此我们得到了, - (〖111〗_2)x 2 ^( - 6)
第4步:转换尾数。在这个问题中,我们被要求转换为二进制补码(5位小数) 因此,我们需要将 - 111转换为2的补码并将其设为5位
步骤A:转换为1的补码(5位) -00111 = 11000 步骤B:转换为二进制补码(5位) 11000 + 00001 =〖11001〗_2
步骤5:转换指数前2位二进制补码 2 ^( - 6)
因此我们需要将-6转换为二进制(二进制补码) 步骤A:转换为二进制 1 1 0
步骤B:转换为1的补码(3位) 110 = 001
步骤C:转换为二进制补码 010
答案是, 〖11001 010〗_2
正如您所看到的,对于3位二进制补码,2 ^ -6似乎是错误的。
有谁可以指出我可能做错了什么?
答案 0 :(得分:1)
通常,有效数(不是尾数 1 )被移位,因此最重要的一位处于某个位置,而不是有效数是一个整数。 IEEE 754格式将有效数归一化为1. ddd ... d ,其中每个 d 是所用基数中的一个数字。
移动您的值以将第一个位移动到该位置会产生-4的指数。你会得到-1.110 2 •2 -4 。为了在二进制补码中表示有效数,我们在左边添加另一位,产生-01.110 2 •2 -4 ,然后应用否定为有效数产生10.010和指数100。
但是,细节可能会有一些变化。有效数是否标准化为1. ddd ... d 或.1 ddd ... d ?在添加符号位之前或之后是有效位5位吗?
您是否拥有此格式的已知表示值的示例?或者有关格式的更多细节?
1 “有意义”是首选术语。有效数是线性的;尾数是对数的。