原码反码补码

原码反码补码

在计算机中是以补码的方式进行储存数据的,在四则运算,按位运算,  移位运算 时都是用补码进行操作的。
一. 原码
    在计算机二进制数中:  0表示正数   1表示负数

     int 1
     它的原码是: 0000 0000    0000 0000    0000 0000    0000 0001   说明 :  其中 "0"是符号位,表示为正数
     int -1
     它的原码是: 1000 0000    0000 0000    0000 0000    0000 0001   说明 :  其中 "1"是符号位,表示为负数

     int 300
     它的原码是: 0000 0000    0000 0000    0000 0001    0010 1100   说明 :  其中 "0"是符号位,表示为正数
     int -300
     它的原码是: 1000 0000    0000 0000    0000 0001    0010 1100   说明 :  其中 "1"是符号位,表示为
二. 反码
     正数的反码是它本身
     负数的反码,符号位不发生变化, 其它位则要进行变化

    int 1
    它的原码是: 0000 0000    0000 0000    0000 0000    0000 0001
    它的码是: 0000 0000    0000 0000    0000 0000    0000 0001     说明 :  原码与反码相同

    int -1
    它的原码是: 1000 0000    0000 0000    0000 0000    0000 0001   说明 :  其中 "1"是符号位,表示为负数
    它的反码是: 1111 1111    1111 1111    1111 1111    1111 1110   说明 :  其中符号位没有发生变化

     int 300
    它的原码是: 0000 0000    0000 0000    0000 0001    0010 1100   说明 :  其中 "0"是符号位,表示为正数
    它的反码是: 0000 0000    0000 0000    0000 0001    0010 1100
    
     int -300
     它的原码是: 1000 0000    0000 0000    0000 0001    0010 1100   说明 :  其中 "1"是符号位,表示为
     它的反码是: 1111 1111    1111 1111    1111 1110    1101 0011    说明 :  其中符号位没有发生变化

三. 补码
    补码是在反码的基础上加1
    正数的补码是其本身
    负数的补码是在其反码的基础上加1

    int 1
    它的原码是: 0000 0000    0000 0000    0000 0000    0000 0001
    它的码是: 0000 0000    0000 0000    0000 0000    0000 0001     说明 :  原码与反码相同
    它的码是: 0000 0000    0000 0000    0000 0000    0000 0001 

    int -1
    它的原码是: 1000 0000    0000 0000    0000 0000    0000 0001   说明 :  其中 "1"是符号位,表示为负数
    它的反码是: 1111 1111    1111 1111    1111 1111    1111 1110   说明 :  其中符号位没有发生变化  
    它的补码是: 1111 1111    1111 1111    1111 1111    1111 1111    说明:补码是在反码的基础上加1

    int 300
    它的原码是: 0000 0000    0000 0000    0000 0001    0010 1100     说明 :  其中 "0"是符号位,表示为正数
    它的反码是: 0000 0000    0000 0000    0000 0001    0010 1100    说明 : 本身
    它的码是: 0000 0000    0000 0000    0000 0001    0010 1100    说明 : 本身

     int -300
    它的原码是: 1000 0000    0000 0000    0000 0001    0010 1100   说明 :  其中 "1"是符号位,表示为
    它的反码是: 1111 1111    1111 1111    1111 1110    1101 0011    说明 :  其中符号位没有发生变化
    它的码是: 1111 1111    1111 1111    1111 1110    1101 0100    说明 :  补码是在反码的基础上加1

 特例 :
          补码   1000 0000 表示 -128
补码   0000 0000 表示 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值