二进制补码是如何把减法转变为加法的 |
您所在的位置:网站首页 › 二进制数怎么减法 › 二进制补码是如何把减法转变为加法的 |
用一个例子来解释补码的原理: 假设现在标准时间为4点整,而有一只表已经到7点了,为了校准时间,可以采用两种方法:一种是将时针退7-4=3格;二是将时针向前拨12-3=9格,这两种方法都可以校准到4点。 摘自《计算机组成原理》p20 第2节 这个例子的意思可以理解为将7变为4,在钟表环境(12进制)下可以表示为7-3和7+9 意即钟表法则中 7-3=7+9 (称为同余式) 看了这个例子,你大概已经知道能这样做的原因是什么了 根本在于 钟表法则中超过12的数会溢出,重新从0开始计算 准确的说这里的12应该被称为模长,也是补码得以有效的关键,在表示的数值大小被限制时,有了溢出就能将减法变成加法了。 有了这个条件,现在可以总结出一套推论 模长为m时,x-y=x+m-y 你可能会觉得这有什么用?还是得用模长做减法才能得出这个等效加数呀 这就是二进制得天独厚的优势了 m-y可以转变为m-1-y+1 这不是废话吗 别急,在二进制中计算机能表示的数的大小总是以位计算的,也就是说,假如总共有8位,那么模长就是2^8,能表示的是0~2^8-1之间的数。 这时候m-1表示的就是1111 1111,上面的m-1-y+1就是1111 1111 - y +1 而1111 1111-y等效于~y(对y求反),求一个数的反码在计算机中是很容易实现的,通过触发器互补输出得到 这时x-y=x+~y+1 补码由此实现将减法变为加法
总结 补码的意义建立在二进制和数值位数确定的情况 补码通过溢出实现将减法转变为加法 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |