二进制底层加减法的实现原理 |
您所在的位置:网站首页 › 计算机的进制怎么理解 › 二进制底层加减法的实现原理 |
计算机底层存储的基本单位为bit 也就是0与1,数字的表示也是以一串二进制来表示。那么如何通过一连串的二进制来完成计算器的计算功能呢? 何为原码反码补码? 在了解底层加减法之前,先了解下原码反码与补码的区别 整数分为正整数与负整数 怎样根据二进制设定一个数是正数还是负数?根据首位符号:0表示为正数,1表示为负数 正整数的原码反码与补码相等 eg: 1的原码 0000 0001 反码:0000 0001 补码:0000 0001 负整数的原码符号位不变,其他位取反,则为负整数的反码,补码在反码的基础上再加1。 eg: -1的原码 1000 0001 反码:1111 1110 补码:1111 1111 加减法运算 接下来我们通过一个例子1+(-3)来了解底层如何实现加减法(乘除法同理) 由于计算机存储的二进制都为补码,因此在操作之前先计算出1与-3的补码 1: 原码:0000 0001,反码:0000 0001 ,补码:0000 0001 -3:原码:1000 0011 ,反码:1111 1100 ,补码:1111 1101 加减法计算大体分为5部分: 1.求异或^ 首先对这俩数求异或操作求值;(啥是异或,俩数的对应位做比较,如果不相等则结果为1,相等则为0) 0000 0001 1111 1101 ---------^ 1111 1100求出该值之后记录下来,后边会用到!!
2.求与结果& 紧接着对这俩数进行与操作(对应位的俩数都为1则结果为1,否则都为0),如果求出的与结果为0,则俩数相加结束,计算的结果为上一步的异或所求出的值。如果不为0,则表示需要进位,则对异或的结果进行左移一位操作 0000 0001 1111 1101 ---------& 0000 00013.左移操作 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |