黑马程序员技术交流社区

标题: 求教原码、反码、补码问题? [打印本页]

作者: fengcommon    时间: 2015-11-22 23:58
标题: 求教原码、反码、补码问题?
求教原码、反码、补码问题?求详细的解答?
作者: cbl16888    时间: 2015-11-23 22:10
正数的三码一致,负数的原码,除了符号位不变其余按位取反就是反码,反码+1就是补码
作者: AGHM0312    时间: 2015-11-23 23:33
大学没好好学
作者: IT-capfer    时间: 2015-11-24 00:24
倒是会照着写
作者: w苗子007    时间: 2015-11-24 00:29
    源码:
       一个数绝对值的二进制表示,如果是+  最高位(最左侧的位)改0
                             如果是-  最高位(最左侧的位)改1
    反码:
      正:正数的反码等于源码
      负:除符号位不变,其他位逐位取反(1-->0,0--->1)
    补码:
      正:正数的补码等于源码
      负:1)反码+1
         2)在源码基础上符号位不变,其他各位取反,最后在+1
//64位机器下
// int 类型占用 4个字节,每个字节为8
//  计算机储存1使用32位的二进制数码,储存的是补码

     +1  源码:00000000000000000000000000000001
         反码 == 源码 == 补码
     -1  源码  10000000000000000000000000000001
         反码  11111111111111111111111111111110
         补码  11111111111111111111111111111111
作者: Tmac90301    时间: 2015-11-24 00:35
源码就是绝对值的二进制数码+最高位取符号位
反码各位取反
补码=反码+1

正数三码合一,原码反码补码全都相同
负数三码都不同
参与计算,用的是补码
作者: fengcommon    时间: 2015-11-24 22:39
w苗子007 发表于 2015-11-24 00:29
源码:
       一个数绝对值的二进制表示,如果是+  最高位(最左侧的位)改0
                       ...

给力,谢了
作者: liury    时间: 2015-11-25 13:15
相同的一串01序列,解释方式不同而已
作者: chensc    时间: 2015-11-25 21:31
学习学习!
作者: mr.late    时间: 2015-11-25 22:52
二楼
作者: heimaye    时间: 2015-11-26 12:41
平时要学会百度,这样才能更好的自学,百度一下什么都有
作者: LIUHENG0408    时间: 2015-11-26 12:57
计算机储存数据是以补码储存.





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