黑马程序员技术交流社区

标题: 原码、反码、补码 [打印本页]

作者: 勇猛的小黑    时间: 2015-11-13 23:03
标题: 原码、反码、补码
数据在计算机内部是以补码形式存储的。
        二进制整数:原码=反码=补码
                  负数:反码=除符号位以外的各位取反,补码=反码+1(即符号位不变,其余各位取反在+1)  
                        负数的补码 = 原码符号位不变取反加1  ,,,,,  其实:负数的原码  =  补码的符号位不变 取反+1   (-1再取反,跟取反再+1 是一个效果)
                [+1] = [0000 0001]原 = [0000 0001]反  补码:0000 0001
                [-1] = [1000 0001]原 = [1111 1110]反  补码:1111 1111
        一个字节 = 8位。
               
        64位机器下,int类型占四个字节,        每个字节8位,
        计算机存储1使用32位的二进制数码,存储的是补码
       
        +1   
        原码:0000 0000 0000 0000 0000 0000 0000 0001
        反码 == 原码
        补码 == 原码
       
        -1 存储的是补码
        原码:1000 0000 0000 0000 0000 0000 0000 0001
        反码:1111 1111 1111 1111 1111 1111 1111 1110
            + 0000 0000 0000 0000 0000 0000 0000 0001
        补码:1111 1111 1111 1111 1111 1111 1111 1111


作者: 唐阿丽    时间: 2015-11-14 14:21
学习一下





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