机器数之原码&反码&补码

前言:  规定将一个二进制数的最高位作为符号位,用0表示正,用1表示负。
       机器数:在机器内部存放的正负号数码后的数。
       真值:在机器外部存放的由正负号表示的数。
一、原码
表示方法:  符号位——用0表示正,用1表示负。
特点:数值部分与该二进制真值的数值部分相同。
注意:
(1)0的原码有两种形式,
    +0的原码为00000000B;-0的原码为10000000B。
(2)长度为一个字节的原码,其取值范围是-127(11111111)~127(01111111)。
【例1】
+5的原码为00000101B。
【例2】
-6的原码为10000110B。
二、反码
表示方法:  正数的反码,与原码相同;
          负数的反码,符号位为1,数值位为原码的数值位按位取反。
注意:
(1)0的反码有两种形式,
    +0的反码为00000000B;-0的反码为11111111B。
(2)长度为一个字节的反码,其取值范围是-127(11111111)~127(01111111)。
【例1】
+5的反码为00000101B。
【例2】
-6的反码为11111001B。
三、补码
表示方法:  正数的补码,与原码相同;
           负数的补码,为反码的末位加1。
注意:
(1)0的补码只有一种形式,
    +0的补码为00000000B;-0的补码为00000000B。
(2)长度为一个字节的补码,其取值范围是-128~127。
==八位二进制数一共有256种编码,用128个表示负数,一半表示零和正数。
--128个负数,-128~-1;128个零和正数,0~127。
【例1】
+5的补码为00000101B。
【例2】
-6的补码为11111010B。
特点:两个数的补码之和等于和的补码,
     求和时符号位直接参加运算。
【例3】
[5]补 + [-6]补 = 00000101B + 11111010B = 11111111B = [-1]补
【例4】已知某数X的补码为11101110B,试求其真值。
解析:  负数的原码应为补码最低位减一后取反,但对二进制来说,先减1再取反和先取反再加1得到的结果是一样的,故可采用取反加1的方法。
解:由[X]补=11101110B可知,X为负数,故可采用取反加1的方法求其原码。
   补码:11101110
   取反(符号位不变,数值位取反): 10010001
   原码(末位加1):10010010
   真值:-0010010,即-18

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值