C语言中的位逻辑运算符'~'是怎么取反的
C语言中的位逻辑运算符'~'是怎么取反的
日期:2013-11-25 18:29:48 人气:1
计算机里面都是用补码表示的
最高位表示符号位:0表示正数,1表示负数
补码转换为原码:
除符号位之外 各位取反末位+1 .对于1 111111111111111111111111111101(32位系统int是32位的)
除符号位之外按位取反末位+1 得到 1 000000000000000000000000000011 =-3
具体的补码很多书上都有介绍!