-1

这是一个简短的问题,我只是想澄清一些事情。

一二的补码中分配给 0xFFFFFFFF 的值是多少?

我认为 0xFFFFFFFF 是二进制补码是-1。但是,当我使用在线二进制补码计算器时,我得到的值为 1。

另外,我想检查一个补码中 0xFFFFFFFF 的值是否为 0。

4

1 回答 1

1

FFFFFFFF 被视为带符号的 32 位整数,在 2 的补码系统中为 -1,在 1 的补码系统中为 -0(1 的补码表示的一个特征是它具有 +0 和 -0)。

FFFFFFFF 被视为无符号 32 位整数,是十进制的 4,294,967,295。

正如所指出的,特定编程语言中的特定符号 0xFFFFFFFF 可以被认为是无符号或有符号的,32 位或更长。


我不知道二进制补码计算器的作用,但 -1 的 2 的补码是 1,反之亦然。可能您是在向它询问 FFFFFFFF 的补码。

于 2020-07-14T00:47:32.037 回答