您的位置 首页 IOT

关于补码运算的一点观点

这两天数电课说了补码这个概念,可是为什么补码可以代替负数做运算,书上没有说清楚,按位取反再加一的原因书上也没说太清楚,在这里我说一

这两天数电课说了补码这个概念,可是为什么补码能够替代负数运算,书上没有说清楚,按位取反再加一的原因书上也没说太清楚,在这里我说一点我的观点。

首先说一下模的概念,关于规模是【0,m-1】的整数计量单位,其模为M,和为M的两个数互为补数,就像时钟,计量单位是[0,11],那么模便是12,7与5就互为补数。

假如两个整数,a,b∈【0,m-1】,那么,界说一个映射f,

使f(a-b)=f(a+c), 其间,c=m-b,是b的补码, f界说为

当0≤x

当x≥m时,f【x】=x%M(此处为模运算,学过C的应当知道);

当x<0时,f[x]=f(m-(-x)%m)……… 此处是为了确保自变量为正数;

这三个公式能够由核算机原理的溢出来隐式完成,所以天然生成就有 a-b=a+c ,所以减运算变成了加运算,所以核算机把-b表明成了补码c;

现在说一说取反加一的问题,假定核算机上的机器字有n位,那么就有m=2n,所以c=2n-b,人在纸上怎样核算c=2n-b的值呢,是这样的: 的原码是1后边跟n个0,直接用来减b的原码不方便,所以就先用2n-1(n个1)减b的原码,得到的成果再加上一便是2n-b的值,这便是核算机类书籍上说的“取反加一”

数学中的整数相加,仍然是一个整数,可是一个调集内的两个整数相加,却不能确保还在这个调集内,用代数的术语来讲,叫做 “不满足关闭性”,这是个很坏的性质,而补码的提出便是为了用关闭的运算来处理这个问题,

当然,这都是个人了解,欢迎纠正,顺带说一句,这是我和谢奇同学的评论成果。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/iot/255212.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部