黑马程序员技术交流社区
标题:
正数的反码补码不是不变吗?为什么~6不是等于6呢
[打印本页]
作者:
wrnlksblk
时间:
2015-7-18 16:42
标题:
正数的反码补码不是不变吗?为什么~6不是等于6呢
搞不动,晕
作者:
wrnlksblk
时间:
2015-7-18 17:29
搞不动,晕搞不动,晕
作者:
白羽蘇芳
时间:
2015-7-18 18:03
正数取反 首位0变1了 不就变负数了么 怎么会不变呢
要想知道那个取反的值,因为是个负数,你得再取反+1得出解啊
作者:
袁月明
时间:
2015-7-18 18:20
正数全部都一样,负数~ 二进制取反 1变0 , 0变1. 可以实现 进制转换 正负转换(负数==正数取反加1)
作者:
李文思
时间:
2015-7-18 20:06
本帖最后由 李文思 于 2015-7-18 20:10 编辑
-6的表现形式是6取反加1
-用八位二进制表示6是 0000-0110
- 6取反是 1111-1001 - 加1得到的是 1111-1010
所以用八位二进制表示-6是 1111-1010
你说这两个能相等吗?
作者:
官沛
时间:
2015-7-18 20:22
楼主,你可能是把“~”和反码搞混了,这两个概念不一样的
作者:
知行合意
时间:
2015-7-18 20:35
在计算机中所有的数据都是以补码的形式存在的,正数的最高位是0,负数的最高位是1。反码:正数的反码和原码相同,负数的反码和原码不同,规则是:除去符号位,其他数值为取反,0变1,1变0。补码:正数的补码和原码相同;,负数的补码和原码不同。规则是,反码+1.所以~6不等于6.
作者:
e咕噜
时间:
2015-7-18 21:41
~是按位取反
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2