整数的补码怎么表示_原码、反码、补码的简单重新认识

简单重新认识二进制中的码

    以前也常看这些知识,但是大家讲的都形态各异,而且很多地方讲的太过于知识化,也就是将一个简单的东西复杂化了。今天重新看了下郝斌老师讲的这块,感觉很容易懂的,而且就是要结合在代码里面的运用理解来解释,东西确实很简单。所以也相信有些东西听懂一次就可以了,但是这一次的听懂确实需要一个好的老师告诉你。

所有的这些都是以按权展开法为基础的!

Q1

先看下原码

原码就是将正常的非二进制的转化为二进制的一串数字,也被称为:符号-绝对值码;

这里有几个特点:

最高位为0表示正数,最高位为1表示负数,其余位为该数字的绝对值的二进制位;简单易懂;

但是它的加减乘除复杂,0表示也不唯一(这里对于计算机就很不好)

Q2

反码

就是原来的二进制代码取反,其实际没有啥意义,就是在用补码过程中需要使用的代码而已。

Q3

补码

补码是为了计算机中存储和加减运算所用的,因为这里对减法可以转化位加法对计算机更加的容易方便。其实这里只要搞清楚十进制转二进制,二进制转十进制就可以懂补码。

十进制转二进制:

正整数转二进制:对原数除以2,直至商为零,余数以倒序排列即为这个数的二进制;

如下图所示流程:

0f5782226732b8fd95a88df98a0de90f.png

如何鉴别真假人口普查员

负整数转二进制:先求绝对值的二进制,然后取反码,末位数加1即可,左边不够补1即可。

二进制转十进制:

首位为0,则为正数,普通方法求

首位为1,全部取反码,末尾加1,所得即为所得数字的绝对值。

6e48b11461e5d320afd460c0f3f9d7cf.png

接下来可以从定义的角度考虑下:

首先看下二进制的补码表示法:

c7d147e6b3505157a9acaa0594882d7e.png

例如:-13为负数,那么他的二进制为:1,1101,前面的第一个1为符号位,剩下的位他的绝对值的二进制,使用定义可以得到:补码为:2的n+1(这里n为位数是4)次方加-13,即:100000 - 1101 =  10011

即为:-13的补码为10011;

这是从定义角度理解二进制的反码补码,最终可以得出结论:

总结

02c0ad3562dfc2ac2543b35968de323f.png

骐程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值