黑马程序员技术交流社区
标题:
关于c语言的位运算
[打印本页]
作者:
wangpeng1
时间:
2016-2-27 13:05
标题:
关于c语言的位运算
c语言下负整数在进行二进制运算时为何还要转换成补码?
作者:
冷傲阳
时间:
2016-2-27 15:02
+1在计算机存储:
原码:1000 0000 0000 0000 0000 0000 0000 0001(最高位为符号位)
原码==反码==补码
-1在计算机存储:
原码:1000 0000 0000 0000 0000 0000 0000 0001 (最高位为符号位)
反码:1111 1111 1111 1111 1111 1111 1111 1110
负数的补码==反码+1
补码:1111 1111 1111 1111 1111 1111 1111 1111 -1
只有补码加补码 -1+1 ==0 ,否则用原码或者反码求和得出来的值不为0
作者:
Eric_Jia
时间:
2016-3-1 17:26
二进制的最高位是符号位,如果是负数肯定要按照楼上写的这么做。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2