购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 二进制和十六进制数字的算术运算

我们经常需要在源码中使用二进制(或十六进制)手动运算结果。尽管有些计算器可以进行二进制(或十六进制)运算,但是我们应该学会进行简单的二进制手算。十六进制运算非常困难,每个程序员都必须准备一个十六进制计算器(或者支持十六进制运算的计算器软件,比如Windows计算器或手机应用程序)。但是二进制数值的算术运算比十进制简单。

学会二进制手算非常重要,因为一些重要的算法会用到这些计算。本节将介绍如何进行二进制数值的加、减、乘、除运算,以及如何进行各种逻辑运算。

3.1.1 二进制加法

二进制加法很简单,只需要记住八条规则:

●0+0=0

●0+1=1

●1+0=1

●1+1=0并进位

●进位+0+0=1

●进位+0+1=0并进位

●进位+1+0=0并进位

●进位+1+1=1并进位

只要记住这八条规则,就可以计算任意两个二进制数值的和。下面是二进制加法的分步展示:

img
img

还有更多例子:

img

3.1.2 二进制减法

和加法一样,二进制减法的规则也是八条:

●0-0=0

●0-1=1并借位

●1-0=1

●1-1=0

●0-0-借位=1并借位

●0-1-借位=0并借位

●1-0-借位=0

●1-1-借位=1并借位

下面是二进制减法的分步展示:

img
img

还有其他一些例子:

img

3.1.3 二进制乘法

二进制乘法也很简单,遵循和十进制乘法一样的规则,不过只用到了0和1:

●0×0=0

●0×1=0

●1×0=0

●1×1=1

下面是乘法的分步展示:

img
img

3.1.4 二进制除法

二进制除法和十进制除法算法相同(都是长除法)。图3-1展示了十进制除法的步骤。

img

图3-1 十迚制除法(3456/12)

同样,采用长除法的二进制除法更容易,不用每一步都去猜余数除以12够除几次或者12乘以多少才够减。在二进制除法的每一步中,除数除被除数得到的商要么是0要么是1,不用去管余数是多少。图3-2展示的是27(11011)除以3(11)的例子。

img

图3-2 二迚制长除法 sG+BwOkQhgQ5Qz/jFhLvnuhCjX6Z6HwntWnCd6inHL/dmIeqa8BCURiNYzPHS+Ra

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开