关系经济人类预测化学自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

计算机是怎么懂加减乘除的

11月19日 颜如初投稿
  在学习编程的过程中,计算两个数的和intabc这样的代码肯定经常写到,但是aclasstaghrefwiki10170dTIFtim422t。html计算机a到底是怎么计算出来的呢?
  加法
  说到加法,首先提到的一个概念就是全加器,下图是一个全加器的数字逻辑电路。
  其中,异或门的输出YAB,与非门的输出就是先与再非,即Y!(AB)。这里我就不再列真值表了,我们再来看一下上面全加器的逻辑,通过推导可以得到下面公式:
  SumABCin
  Cout(ABCin)(AB)
  这是一位(1bit)的加法运算,当我们把8个全加器级联起来的话(低位的Cout是高位的Cin)就实现了一个8位的加法器。我们可以用代码模拟一下(LeetCode371。两整数之和):
  说到这里,大家应该大体的了解计算机是怎么计算加法的了,那减法呢?
  减法
  加法是进位,减法需要考虑的则是借位,是这样吗?按我们小时候对加减法学习的经验是这样的,但是计算机不是这么处理的。计算机只有加法,没有减法。肯定有同学说,不可能,那我们算intabc是怎么得出来结果的呢?说到这个首先要了解另外一个概念补码。
  补码
  我们知道,计算机中对于有符号数,用最高位作为符号位,0代表,1代表;其余数位用作数值位,代表数值。比如Byte类型的取值范围为128127。其中,表示数值的只有7位,首位表示正负。
  怎么推导一个数字的补码呢?补码规定,正数和0的补码就是其原码(原码、反码的定义这里就不多赘述),负数的补码是其正数的原码取反再加1。
  听起来有点绕,举个例子,求10的补码:
  十进制10的原码(按8位举例)为00001010,其反码为11110101,取反后再加1即为其补码:11110110。因此,10的补码为11110110。
  不知道写到这里,大家有没有发现什么端倪?我们再回到减法计算来。
  abc
  实际上等同于
  ab(c)
  我们算一下下面的式子:
  125
  0000110011111011
  (1)00000111
  7括号里为进位,因为只有8位,所以高于8位的进位要去掉。
  79
  0000111111110111
  11111110
  2
  通过这两个例子是不是就清楚了计算机是如何计算减法的了?
  乘法
  通过说减法,我们是不是对乘法也有一定的启发了呢?乘法其实就是循环的加法。比如53实际上就是555。貌似就说完了。实际上不仅仅如此的。现在有一个电子器件叫做乘法器,其可以实现二进制的乘法、除法等运算。我们同样以53做为例子,讲解一下乘法器计算乘法的流程。
  530000010100000011
  3的第0位为1,那么5左移0位,结果为00000101;
  3的第1位为1,那么5左移1位,结果为00001010;
  3的其他高位都为0,因此不再左移;
  两次左移的结果累加,即000001010000101000001111,即十进制的15。
  虽然有乘法器,但是我们发现实际的最终操作流程还是加法和位移操作计算的乘法运算。我们写的代码中的乘法到底是用乘法器算的还是转化成加法运算,我们也并不太确定,有些编译器编译的时候会对代码进行优化,会选取最优的一种算法来计算结果。
  除法
  除法可以通过减法来实现,比如103等价于10一直减3直到被减数小于3,减了3次,那么103的结果就为3了,余数为减完剩下的值1。
  其实上面已经提到了乘法器,除法的原理同样也类似(这里不说浮点数的除法,只说整数的除法),但是稍微复杂一点。(LeetCode29。两数相除)
  同样我们举个例子来说明一下。
  20951101000100000101
  首先取209的最高位1(1010001)小于101
  左移一位11(010001)小于101
  左移一位110(10001)大于101,商1,余1(10001)
  左移一位11(0001)小于101
  左移一位110(001)大于101,商1,余1(001)
  左移一位10(01)小于101
  左移一位100(1)小于101
  左移一位1001大于101,商1,余100
  于是结果为00101001(41),余数为100(4)。
  通过上面我们发现,计算机计算加减乘除,都是转换为加法和位移运算完成的,而事实上也是如此。可能我们平时编程过程中可能用不到这些内容,直接写就可以了,但是作为一名程序员,还是有必要了解一下计算机基础的编码以及基础的运算的。祝大家学习愉快!
投诉 评论 转载

大学觉得孤单怎么办教你如何走出孤单牢笼大学觉得孤单怎么办打电话给家里家永远是你最温暖的港湾,在你孤独的时候给你一丝慰藉,让你安静下来。所以孤独的时候不妨想想家,给家里人打个电话,微信视频聊天等等,这样你……如何判断是否手淫过度呢有哪些判断的标准呢适当手淫是有好处的,但是手淫过度不利男性的健康,那么如何判断是否手淫过度呢?有哪些判断的标准呢?下面就一起随本站小编来了解一下吧。有些青年自慰成习惯后,终日惶惶不安。以为……骨头有什么作用normalstyleMARGIN:0cm0cm0TEXTINDENT:21msocharindentcount:2。0我们的身体有206块骨头,这些……三国三大战役三大战役逐渐形成三国鼎立局面意义重大三国时期各路豪杰纷纷登场争夺天下,在这一时期也爆发了无数场战役。在这些战争当中有着三场战役,在后世人看来对天下格局起着至关重要的作用。这三大战役分别是官渡之战、赤壁之战以及夷陵……碰碰香怎样养殖不耐寒不耐肥需要充足阳光碰碰香,顾名思义就是只要碰到它就会沾到它香味,碰碰香是家养盆栽中比较常见的花卉,因为其独特的个性让花友们青睐不已,下面我们一起看看碰碰香的养殖方法吧。碰碰香的养殖方法(基……快手产品分析报告绝不流于形式今天的快手已然要成为一头独角兽,作者以产品人的身份用分析报告的方式再次解读这个神奇的APP。笔者也算是快手的忠实用户了,2年前偶然的机会接触到这款产品那时候笔者还没入行产……计算机是怎么懂加减乘除的在学习编程的过程中,计算两个数的和intabc这样的代码肯定经常写到,但是aclasstaghrefwiki10170dTIFtim422t。html计算机a到底是怎么计算出来……与玉米抗病相关的因素有哪些与玉米抗病性有关的因素有哪些?在讨论这个问题时,我们应该考虑玉米的出现和成熟度的调查,并在整个玉米生长期间客观和科学地进行评估。野外自然发生率的识别与气候,土壤载体等方面有关。……刚买回来的茶花怎么养适当光照修剪处理刚买回来的茶花首先需要摆放在散光下养护,不过在夏季时需做好防晒措施,而且需要根据土壤、植株给其浇水施肥,千万不要盲目的给其浇水施肥,如果发现刚买回来的茶花,有干枯、发黄的枝叶,……牡蒿别名:齐头蒿《新修本草》,水辣菜《救荒本草》,布菜《民间常用草药汇编》,土柴胡《陆川本草》,猴掌草《江西民间草药》,流尿蒿《四川感冒,肺结核潮热,咯血,小儿疳热,衄血,便血,崩……男女之间如何快速拉近关系如何让对方感受到真心情人节到来了,今年因为疫情的原因不能出门,那如何向喜欢的人表白,如何让两个人的感情快速升温呢?其实现在不能出门,要好好利用互联网表达爱意,一起来看看该怎么办吧!男女之间如……谈恋爱男生该不该多花钱情侣间的消费观可以磨合吗情侣谈恋爱到底该谁花钱呢?其实,情侣之间的消费是看你们处于什么关系来判断的。而谈恋爱中野并不存在男生该多花钱,恋爱是公平的,如果你真的喜欢对方,也不会舍得花他钱。而如果两个人在……
情何以堪她们是充满幻想总爱做梦的生肖女医疗废弃物是有害垃圾吗珍妮曲奇为什么会塌珍妮曲奇容易塌陷怎么办乐乐茶蟹味酥松月饼包多少钱一个乐乐茶蟹味酥松月饼测试别人眼中的你心理测试你觉得哪杯鸡尾酒最贵实现职业生涯规划的方式职业生涯规划步骤浅析职业经理人行业未来发展需求职业经理人必备的财务管怎样回答母亲节如何折一朵百合花有什么模拟器可以玩绝地求生深度解析手淘首页流量怎么获取硬盘检测提示错误计数警告
7。11的小摘抄已送达,记得签收哦生活知识科普清明节是几月几日御银股份,苏宁易购,浙江建投,华润双鹤,爱仕达,完美世界宇宙地层之三灿烂星海电脑也有微信分身,你知道?温病病在荣卫似水芳菲近,云梦柳含烟大学生心理拓展训练的重要性这些洗面奶调节水油平衡,提亮肤色美白补水,简直是敏感肌的福音 夏日情怀幼儿工作计划吞蝌蚪喝蟑螂水吃鸽子粪,你被偏方秘方坑过吗

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州