负数的补码

1、原码、反码和补码:

(1)最高位表示符号位,正数时0,负数是1。
(2)正数的原码、反码和补码都一样。
(3)负数要用补码来计算:
●原码就是直接在数值前面加上符号表示
●反码等于原码的符号位不变,其他位按位取反
●补码等于反码加一

2负数用补码表示原理

首先,理解负数在计算机中为什么是以补码形式存在的,主要是因为计算机根本不知道什么叫负数,咱们都知道带有负号的是负数,但是计算机不知道。但是我们为什么把负数表示成补码呢,其他的数行不行呢?
我们先以一个0-7(8个数)为例,假设我们以0为原点,它的周期为8。-1表示7,-2表示6,依次类推。
在这里插入图片描述

对这个图怎么看呢,注意以下两点:
1、图上可以看到数的范围(周期)
2、在图上从原点0到任意一点有两种方式,顺时针拨(用正数表示),逆时针(用负数表示)
光白话,也没例子直观,直接安排
例如1:我们要从0到2,正向拨两次(010),反向拨6次(110)。假如我们现在查看-2,要求正向拨,就是正向拨6次(110),就可以到-2。

计算机就是如此识别的,它把一个数字序列的前半部分都识别为正数,后半部分,计算机会认为该数是负数的补码,对此数操作后,再求原码,显示给用户看。
下面我们再举一个复杂点的列子。
在这里插入图片描述

例如:-5
原码:1000 0101
反码:1111 1010
补码:1111 1011
它的周期是2^8 ,我们把0看成原点0,比如到1是正向拨1次,反向拨2^8-1(1111 1111)。比如-1反向拨1,正向拨的话就是2^8-1 (1111 1111)。我们定义正向拨是唯一方向的话,-1就是(1111 1111)。2^8 是总的个数,正向排过去,正数从小到大,负数也是从小(-128)到大(-1),这样就把2^8 排满了。 计算机中,总的个数是2^8, 前2^7 都是正数,后2^7都是负数。(正数从小到大,负数也是从小到大)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值