二进制数源码、反码补码

  • 前言

    首先,计算机都是使用二进制的补码进行计算
    其次,bit(位):数据存储的最小单元。在计算机二进制系统中,位,简记为b,也称为比特(bit),每个二进制数字0或1就是一个位(bit),其中每 8bit = 1 byte(字节);

  • 无符号数和有符号数

    在计算器中参与运算的数有两大类:无符号数和有符号数
    (1)有符号数:
    对于有符号数而言,符号的正、负机器是无法识别的,但由于“正、负”恰好是两种截然不同的状态,如果用“0”表示“正”,用“1”表示“符”,这样符号也被数字化了,且规定将它放在有效数字的前面,即组成了有符号数。所以,在二进制中使用最高位(第一位)来表示符号,最高位是0,表示正数;最高位是1,表示负数。
    (2)无符号数:
    无符号数是针对二进制来讲的,无符号数的表数范围是非负数。全部二进制均代表数值(所有位都用于表示数的大小),没有符号位。即第一个"0"或"1"不表示正负。

  • 二进制中的原码、反码、补码中的计算方法

    对于有符号数而言:
    (1)二进制的最高位是符号位:0表示正数,1表示负数

    (2)正数的原码、反码、补码都一样;
    (3)负数的反码 = 它的原码符号位不变,其他位取反(0 ->1 ; 1->0 );
    (4)负数的补码 = 它的反码 +1;
    (5)0的反码、补码都是0;
    (6)在计算机运算的时候,都是以补码的方式来运算的;

    1、正数的二进制原码、反码、补码都是相同的

    2、负数的二进制原码:负数的绝对值的二进制的最高位变为1(1是标志位,只用来表示正负,1表示负数,0表示是正数。所以八位二进制的取值范围是[-127,127]),其余位与正数原码相同。
    比如-32
    第一步:32(10)=00100000(2)
    第二步:最高位变为1:10100000

    3、负数的反码:等于原码的最高位不变,其余取反。
    比如-32
    原码为:10100000
    反码为:11011111

    4、负数的补码:等于原码的最高位不变,其余取反,然后加一。
    比如-32
    第一步,原码为:10100000
    第二步,最高位不变取反:11011111
    第三步,加一得补码:11100000

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值