黑马程序员技术交流社区

标题: 【java基础】——原码,反码与补码 [打印本页]

作者: bingdian107    时间: 2015-8-16 17:56
标题: 【java基础】——原码,反码与补码
有符号的数据表示法:原码,反码,补码
        计算机内数据的运算都是采用对应二进制数据的补码进行的
        原码,反码,补码都是由符号位和数值位组成
       
        原码:
                正数的原码最高位是0
                负数的原码最高位是1
                其他的是数值位
                        符号位        数值位       
                +7        0                0000111               
                -7        1                0000111
       
        反码:
                正数的反码与原码相同
                负数的反码与原码符号位相同,数值位取反
                        符号位        数值位       
                +7        0                0000111               
                -7        1                1111000
       
        补码:
                正数的补码与原码相同
                负数的补码是在反码的基础上加1,所以符号位有可能会发生变化
                        符号位        数值位       
                +7        0                0000111               
                -7        1                1111001
       
测试:
A:已知某数X的原码为10110100B,试求X的补码和反码。
        原码为10110100B,说明是此数据是一个为负的二进制数
        负数的反码是与原码符号位相同,数值位取反,即11001011B
        负数的补码是其反码加1,即11001011+1=11001100B
B:已知某数X的补码11101110B,试求其原码。
                        符号位                数值位
        补码               1                        1101110
        反码               1                        1101101
        原码               1                        0010010


作者: 软件小白    时间: 2015-8-16 19:50
能够详细的讲一下负数的原码、反码、补码?
作者: bingdian107    时间: 2015-8-16 19:54
软件小白 发表于 2015-8-16 19:50
能够详细的讲一下负数的原码、反码、补码?

我也是小白,刚刚学,你哪里不明白




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