石门情报站1~8罗雪:C语言中按位取反的问题

来源:百度文库 编辑:高考问答 时间:2024/04/29 14:23:47
我是初学者,能不能用具体的步骤讲解一下按位取反的运算过程,就用~1和~8吧,这两个例子是教材上的,说是~1的运算结果是-2,~8的运算结果是-9,但没有讲具体的步骤,不知是不是印刷错误,我怎么都理解不了,谢谢各位了。
哦,明白了,开始我忘了负数在主算机中是用补码表示的了,谢谢两位。

0001
取反
1110

符号位为1,取反+1为
1010
转化成10进制为
-2

对的对的二进制在计算机中用补码表示

1的二进制表示
00000001

取反变成
11111110
这个数就是-2

8也是同理的!简单点说就是正数a取反=-(a+1),当然不能超数数字表示范围