Math 十进制中相同二进制整数的正负符号版本之间的关系是什么?

Math 十进制中相同二进制整数的正负符号版本之间的关系是什么?,math,binary,integer,signed,Math,Binary,Integer,Signed,我想在这个问题的前面指出,起初这似乎是其他几个问题的重复,但这些问题的答案都没有回答我的问题,因此我提出了这个问题 以十进制表示,被解释为正整数的二进制整数与被解释为负整数的完全相同的二进制整数之间的关系是什么?以整数5为例: 5是101 -5是11111011 11111 011被解释为无符号数时为251 问题是,-5和251之间的十进制关系是什么?除了在二进制数系统中发生的动作外,还有直接的关系吗?也就是说,在十进制中是否有一些规则,我们可以直接将任何给定的十进制整数映射为十进制整数,当从正

我想在这个问题的前面指出,起初这似乎是其他几个问题的重复,但这些问题的答案都没有回答我的问题,因此我提出了这个问题

以十进制表示,被解释为正整数的二进制整数与被解释为负整数的完全相同的二进制整数之间的关系是什么?以整数5为例:

5是101

-5是11111011

11111 011被解释为无符号数时为251

问题是,-5和251之间的十进制关系是什么?除了在二进制数系统中发生的动作外,还有直接的关系吗?也就是说,在十进制中是否有一些规则,我们可以直接将任何给定的十进制整数映射为十进制整数,当从正到负转换时,相同的二进制整数将是十进制整数,反之亦然?

请注意,-5实际上不是11111 011,而是8位二进制表示。如果使用不同的位数,则会得到不同的二进制表示。例如,如果您使用16位,就像通常所做的那样,您将得到111111011,即65531

这就是关键。在八位中,我们考虑2 ^ 8,这是256。那个插入符号代表指数。然后我们看到-5由256-5表示

所以最后的答案是:对于一个给定的正整数n,用b二进制位表示,那么数字-n用

(2 ^ b) - n

至少,如果位b的数量足够大。清楚了吗?可以说的远不止这些,但是你最好在一本书或一个大的网页上多读一些关于两个补码的符号。

假设我们使用两个补码,我们有一个n位的向量:

鉴于,将其视为未签名导致:

n_unsigned = sum(i=0, i=n-1) {a(i) * 2^(i)}
因此,区别在于:

n_unsigned - n_signed = 2 * [a(n-1) * 2^(n-1)]
希望对您有所帮助,并对糟糕的格式表示歉意。

假设使用了表示法。这可能是OP意识到的唯一表现。
n_unsigned = sum(i=0, i=n-1) {a(i) * 2^(i)}
n_unsigned - n_signed = 2 * [a(n-1) * 2^(n-1)]