Binary 帮助理解整数的二进制表示法?
我试图理解这些插图,但有些部分我不理解:Binary 帮助理解整数的二进制表示法?,binary,Binary,我试图理解这些插图,但有些部分我不理解: “但是计算机必须倒数负数” 为什么在二进制前面加1意味着计算机必须倒计时 “翻转位并添加1!” 加1是什么意思 呜呜声:你所说的叫做。你所说的叫做。我没有看到插图,但你可能在说二的补码表示法。(http://en.wikipedia.org/wiki/Two(补语) 为什么前面加1意味着计算机必须倒计时 由于搬运的工作方式,fffffffffff+1==0 和0-1==FFFFFFFF。所有位都被翻转,包括第一位。 如果简单地将负数定义为以1
- “但是计算机必须倒数负数”
- 为什么在二进制前面加1意味着计算机必须倒计时
- “翻转位并添加1!”
- 加1是什么意思
呜呜声:你所说的叫做。你所说的叫做。我没有看到插图,但你可能在说二的补码表示法。(http://en.wikipedia.org/wiki/Two(补语)
fffffffffff+1==0
和0-1==FFFFFFFF
。所有位都被翻转,包括第一位。
如果简单地将负数定义为以1位(80000000-FFFFFFFF)开头的负数,那么通过自然溢出进行加法就可以得到一个很好的统一行为~x+1==-x;//始终为真
我没有看到插图,但你可能在谈论二的补语表示。(http://en.wikipedia.org/wiki/Two(补语)
fffffffffff+1==0
和0-1==FFFFFFFF
。所有位都被翻转,包括第一位。
如果简单地将负数定义为以1位(80000000-FFFFFFFF)开头的负数,那么通过自然溢出进行加法就可以得到一个很好的统一行为~x+1==-x;//始终为真
这可能最容易通过示例来说明。以下是以二进制表示的-4到4之间的数字:
4 0000 0100
3 0000 0011
2 0000 0010
1 0000 0001
0 0000 0000
-1 1111 1111
-2 1111 1110
-3 1111 1101
-4 1111 1100
假设我们想从1变为-1。我们首先翻转1的所有位
1 0000 0001
flip bits
-----------
1111 1110
然后我们添加一个1:
1111 1110
+ 1
-----------
1111 1111
我们现在有了-1。这可能是最容易通过示例显示的。以下是以二进制表示的-4到4之间的数字:
4 0000 0100
3 0000 0011
2 0000 0010
1 0000 0001
0 0000 0000
-1 1111 1111
-2 1111 1110
-3 1111 1101
-4 1111 1100
假设我们想从1变为-1。我们首先翻转1的所有位
1 0000 0001
flip bits
-----------
1111 1110
然后我们添加一个1:
1111 1110
+ 1
-----------
1111 1111
我们现在有了-1。搜索:wiki 2的补充搜索:wiki 2的补充