黑马程序员技术交流社区

标题: 入门简单的负数反码位运算符问题. [打印本页]

作者: 张智安    时间: 2013-10-25 08:49
标题: 入门简单的负数反码位运算符问题.
本帖最后由 张智安 于 2013-10-27 16:58 编辑

正数的反码运算的窍门运算我能理解,但是负数的反码运算我就是搞不懂了
反码        ~6 = -7
00000110->取反==>11111001  1开头的二进制代码   取反加1  00000110 +1  00000111 ==> - 7

窍门: -6的二进制位 +6 取反 +1
而~6只是取反未加1,所以直接就是-7

但是~ (-6)我就不会弄了

求解~ (-6)的具体转换过程??






作者: FFF    时间: 2013-10-25 09:10
本帖最后由 FFF 于 2013-10-25 09:21 编辑

不是一样的吗?
6=00000110->取反==>11111001  1开头的二进制代码   取反加1  11111001 +1  11111010 ==> - 7

-6=11111001->取反==>00000110  0开头的二进制代码   取反减1  00000110 - 1  00000101 ==> 5

正数取反时+1,那负数取反时不就-1。这个很难理解吗?
作者: To    时间: 2013-10-27 16:06
楼主你好,如果问题已解决请将帖子状态修改为提问结束,
如果未解决请继续追问,谢谢合作
修改方法请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2