主页 > imtoken钱包的app地址 > 请问,1000 0000 0000 0000如何表示带符号的十六进制数?

请问,1000 0000 0000 0000如何表示带符号的十六进制数?

imtoken钱包的app地址 2023-05-12 05:15:33

这个问题很简单,别想复杂:

楼主误把小数变成补码了。

转换成十进制和补码完全不同,因为补码还是二进制,是另一种二进制表示。

下面我会认为楼主需要2的补码再解决这个问题:

在解决这个问题之前,楼主需要明白,原代码表示0时有两种表示方式

+0 和 -0 +0 是 0000 符号位是 0 -0 是 1000 符号位是 1

我还要说一件事,补码可以表示的范围是去掉符号位后的-2^n~2^n-1

如果你的原始代码根本不在这个范围内,就无法表达。

楼主提供的原码是1 000 0000 0000 0000,就是原码减0(——0)

补码中没有负0的概念,补码的0和负0都是0.

所以楼主一定要把它变成+0,即0 000 0000 0000 0000 然后求补码。

所以,你的问题本身就很奇怪。因为没有人使用负 0(—0)作为补码

如果你坚持1000转换为十六进制,就按照我上面说的,改正并寻求补充。因为补码只支持正数0.

补码是二进制数字表示,而不是十进制系统。转换为十进制系统与查找补码不同。不要迷惑​​楼主。

第二个问题:

前面提到过1000转换为十六进制,当1000 0000 0000 0000是二进制时,可以用除号取反+1,得到2的补码。

转换成十六进制时,从左到右每4个数字组合成一个十六进制数字,因为2的4次方=16.

所以是 (1000)2=(8)16 (0000)2=(0)16) 最终结果是 (8000)16还是从左到右

给楼主补充一点:

为什么4个二进制数字代表1个十六进制:

碱基之间转换的标准是转换后它们所代表的值保持不变。

比如十六进制的10,十进制的其实就是16.因为1^16=1^10+6

而2^4=16:: 0-15的16个数字用4位二进制表示,可以重复也可以省略。左侧的十六进制数对应右侧的 4 位 2 基数。 (这是数学排列,楼主一定懂吧?)

楼主可能会问为什么高位可以一样,那是因为×16^n也等于×2^4^n。

至于1000 0000 0000 0000,小数怎么求,

1×2^12 = 1×10^...+ 1×10^... 这没关系