原码、补码与反码

  • 机器数

    一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机中用一个数的最高位存放符号,正数最高位为0,负数最高位为1。

  • 真值

    由于机器数的第一位为符号位,故机器数的形式值就不等于真正的数值。如机器数10000011,其最高位为1,其真正数值为-3,而不是形式值103(10000011转换成十进制为103),所以为了区别起见,将带符号位的机器数对应的真正数值成为机器数的真值。

  • 原码

    原码就是符号位加上真值得绝对值,即用第一位表示符号,其余为表示值

  • 反码

    反码:正数的反码是其本身,负数的反码是在其原码的基础上,符号位不变,其余各个为取反。如:

    [+]1 = [00000001]原码 = [0000001]反码

    [-1] = [10000001] 原码 = [11111110]反码

  • 补码

    补码:正数的补码是其本身,负数的补码是在反码的基础上加1。 如:

    [+1] = [00000001]原 = [00000001]反 = [00000001]补

    [-1] = [10000001]原 = [11111110]反 = [11111111]补

    正数的原码=反码=补码

    注意: -128 的补码是[10000000]

  • 位移

    >> 向右位移 如:1000右移两位为 10, 即8 >> 2=2 ,故 位移一位即除以2

    << 向左位移,如: 1000 左移两位为 100000,即8 << 2 = 32 故在范围允许的情况下位移一位即乘以2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值