A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

搞不动,晕

7 个回复

倒序浏览
搞不动,晕搞不动,晕
回复 使用道具 举报
正数取反 首位0变1了  不就变负数了么  怎么会不变呢   
要想知道那个取反的值,因为是个负数,你得再取反+1得出解啊
回复 使用道具 举报
正数全部都一样,负数~ 二进制取反 1变0 , 0变1. 可以实现 进制转换 正负转换(负数==正数取反加1)
回复 使用道具 举报
本帖最后由 李文思 于 2015-7-18 20:10 编辑

-6的表现形式是6取反加1
-用八位二进制表示6是            0000-0110
-                    6取反是             1111-1001 -                        加1得到的是             1111-1010
所以用八位二进制表示-6是     1111-1010

你说这两个能相等吗?

回复 使用道具 举报
楼主,你可能是把“~”和反码搞混了,这两个概念不一样的
回复 使用道具 举报
在计算机中所有的数据都是以补码的形式存在的,正数的最高位是0,负数的最高位是1。反码:正数的反码和原码相同,负数的反码和原码不同,规则是:除去符号位,其他数值为取反,0变1,1变0。补码:正数的补码和原码相同;,负数的补码和原码不同。规则是,反码+1.所以~6不等于6.
回复 使用道具 举报

~是按位取反
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马