Floating point 标准化浮点表示法

Floating point 标准化浮点表示法,floating-point,binary,twos-complement,Floating Point,Binary,Twos Complement,我试图帮助别人做一些家庭作业,但我得到了错误的答案 问题是: 用标准化浮点表示法表示【-0.109375】10 具有5位小数2的补码尾数和3位 整数2的补码指数 我写了以下笔记: 让我们找出问题的答案: 〖-0.109375〗_10 步骤1:转换为二进制 0。0 0 1 1 1 0 0 【-(00.00011100)】 第二步:乘以1(2^0) (00.00011100)u2 x 2^0 第三步:移位使尾数为整数 我们需要向左转6班 为什么? 因为我们有0.000111 班次1=00.00111

我试图帮助别人做一些家庭作业,但我得到了错误的答案

问题是:

用标准化浮点表示法表示【-0.109375】10 具有5位小数2的补码尾数和3位 整数2的补码指数

我写了以下笔记:

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

0。0 0 1 1 1 0 0

【-(00.00011100)】

第二步:乘以1(2^0) (00.00011100)u2 x 2^0

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

所以我们得到,, -(111)x 2^(-6)

第四步:转换尾数。在这个问题中,我们被要求转换为2的补码(5位小数) 因此,我们需要将–111转换为2的补码,并将其设为5位

步骤A:转换为补码(5位) -00111 = 11000 步骤B:转换为2的补码(5位) 11000 + 00001 =“11001”)2

步骤5:转换指数顶部2位2的补码 2^(-6)

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

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

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

答案是,, 〖11001 010〗2

如您所见,2^-6对于3位2的补码似乎是错误的

有人能指出我可能做错了什么吗?

通常有效位(不是尾数)会移位,以便最高有效位位于某个位置,而有效位不是整数。IEEE 754格式将有效位标准化为1.ddd…d,其中每个d是所用基址中的一个数字

将您的值移动到该位置的第一位将产生–4的指数。你会得到-1.1102•2-4。为了表示2的补码中的有效位,我们在左侧添加另一位,生成–01.1102•2–4,然后应用否定运算生成10.010的有效位和100的指数

然而,在细节上可能会有一些变化。有效位是否规范化为1.ddd…d或.1ddd…d?有效位是在添加符号位之前还是之后的五位

您有这种格式的已知表示形式的值的示例吗?或者关于格式的更多细节


1“有效位”是首选术语。有效位是线性的;尾数是对数的。

通常有效位(不是尾数1)会移位,以便最高有效位位于某个位置,而有效位不是整数。IEEE 754格式将有效位标准化为1.ddd…d,其中每个d是所用基址中的一个数字

将您的值移动到该位置的第一位将产生–4的指数。你会得到-1.1102•2-4。为了表示2的补码中的有效位,我们在左侧添加另一位,生成–01.1102•2–4,然后应用否定运算生成10.010的有效位和100的指数

然而,在细节上可能会有一些变化。有效位是否规范化为1.ddd…d或.1ddd…d?有效位是在添加符号位之前还是之后的五位

您有这种格式的已知表示形式的值的示例吗?或者关于格式的更多细节



1“有效位”是首选术语。有效位是线性的;尾数是对数的。

有效位是2的补码的要求可能会改变这一点。前导位必须有可能为0以表示正。当然,IEEE 754使用了一个无符号的有效位和一个单独的符号位。@PatriciaShanahan:答案已经包括了两个补码的规定。注意句子“为了表示两个补码中的有效位,我们在左边添加另一位……”有效位为两个补码的要求可能会改变这一点。前导位必须有可能为0以表示正。当然,IEEE 754使用了一个无符号的有效位和一个单独的符号位。@PatriciaShanahan:答案已经包括了两个补码的规定。注意句子“为了表示2的补码中的有效位,我们在左边加上另一位…”