解释为什么将二进制数转换为十进制,以及将其二进制补码转换为十进制时会有不同的结果

问题描述 投票:0回答:1

例如,给我们数字-1.5(10)。

将其转换为带符号的二进制文件,我们得到11.1000(2)。

其二进制补码为00.1000(2),转换为十进制时为0.5(10)。

这是不言自明的,因为它是一个不同的二进制数。

还有什么要解释的?

binary decimal signed twos-complement decimal-point
1个回答
0
投票

您正在混合苹果(有符号二进制)和桔子(二进制补码)。

[您在一个表示形式(带符号的二进制)中取了一个负值,使用different表示形式(2的补码)将其取反,结果(毫不奇怪)最终出现了垃圾。

如果您对带符号的二进制文件否定了11.1000(2),则最终将得出01.1000(2)-正确的答案。

如果您有started,其2的补码表示为-1.5、10.1000(2),并且取2的补数<< that >​​>,则最终得到01.1000(2)-也正确。请注意,其中的[[无

涉及将任何内容转换为十进制。
© www.soinside.com 2019 - 2024. All rights reserved.