C/C++ 您当前所在位置:首页 > C/C++ > CPU在底层是如何计算加法的

CPU在底层是如何计算加法的

陈成 陈成 2020-06-28 21:27:49 C/C++ 178人已围观

简介 我们写程序让计算机算出4+5的结果的时候,计算机是不会的,它不会像人一样计算,它计算方法完全是逻辑运算。那底层CUP到底是如何计算4+5的呢?

我们写程序让计算机算出4+5的结果的时候,计算机是不会的,它不会像人一样计算,它计算方法完全是逻辑运算。不了解逻辑运算先查看逻辑运算。那底层CUP到底是如何计算4+5的呢?

首先4的二进制为0100,5的二进制为0101

1、先将两个值进制一次异或运算,异或运算一个为0一个为1才为1

        0100

xor   0101

-------------

        0001

得到结果0001,把它放在一个容器里。如何知道计没计算完呢?看第2步。

2、再将两个值进行一次与运算

        0100

and  0101

-------------

        0100

得到结果0100,它会判断这个结果是不是等于0,但在判断这个结果之前会将这个结果左移一位,这里的0100左移一位为1000,如果左移后的结果是0,则上面异或的结果就是最终结果。很明显这里不为0,所以还没计算完,继续。

3、再将第一次异或的结果和我们左移后的结果再异或运算

        0001

xor   1000

-------------

        1001

得到结果1001,把它放在一个容器里。如何知道计没计算完呢?看第4步。

4、再将两个值进行一次与运算

        0001

and  1000

-------------

        0000

结果为0000,再将之左移一位,还是等于0,所以现在就有结果了,最终结果就是上面的1001,转为10进制就是9。如果还不为0则依次类推,再重复计算。

文章评论

发送

站点信息

  • 上线时间:2020年05月30日
  • 网站程序:自建框架
  • 博客模板:今夕何夕
  • 文章统计43篇文章
  • 评论统计0条评论
  • 留言统计0条留言
  • 统计数据:百度统计