石门情报站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),当然不能超数数字表示范围