0. 序
上一篇 【谈谈二进制(一)】 中,我们花了巨量的篇幅,从最基本的计数开始,认识了各种进制的原理,接着通过对我们最熟悉的十进制的分解组合,推演了其他进制和十进制之间的相互转换过程。 本篇将继续深入二进制,来探究一下二进制的四则运算过程,也就是加、减、乘、除,看看二进制和十进制在计算上又有多少差异。1. 加法
1.1 整数
加法一般是四则运算中首先被提及的,它是计数这一基础行为的延申,从一个一个地累加,延申到一堆一堆地相加,使计数这一行为提升了一个维度。按照上一篇文章的推演逻辑,我们依然从十进制开始,首先探究一下十进制的加法。 我们取两个十进制数:62
和
185
,我们用简单的口算就能算出来他们俩的和是
247
,但这个运算过程是怎么样的呢?我们仔细想一下刚才在计算时大脑的计算过程,然后来看看小时候初学加法时用到的竖式表达式:
从上式中我们可以看到,这个加法的整个过程其实分为了四步:
个位相加,得到的结果没有进位,依然是个位;
十位相加,
6 + 8 = 14
,进位了,因为是十位的相加结果,所以进到百位上,因此十位上结果是4
,百位上是1
;百位相加,这里百位只有
185
的1
,62
的百位是0
,所以是0 + 1 = 1
;最后,把上面三步得到的结果再进行相加,数字不存在的空白处都看作是
0
,最终得到了247
这个结果。
101
和
1110
,把它们相加:
得到了
10011
这个结果,我们将三个二进制转化成十进制验证一下:
1110 = 14
,
101 = 5
,
10011 = 19
,完全正确。 当我们熟悉了二进制的计算过程后我们会发现,其实二进制的加法计算要比十进制更简单,因为二进制的最低位的计算只有三种:
1