AVR单片机应用技术项目化教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.3 二进制数运算

二进制运算分为算术运算和布尔逻辑运算。二进制的算术运算与十进制的加减乘除的运算方法和基本规则一样,为逢二进一,借一当二。布尔逻辑运算是二进制特有的一种运算,是计算机中实现编程操作的重要运算,它是基于基本的与或非的数理逻辑运算,以位为基本运算单位,互相之间不受影响。

1.算术运算

(1)加法运算

二进制的加法运算的规则为

0+0=0

0+1=1

1+1=10(1为向高位的进位数)

【例1-1】求X+Y,其中X=10001110,Y=11001111。

解:按照二进制加法运算规则

结果为101011101,有9位二进制,1为运算结果的第9位进位位。

(2)减法运算

二进制减法运算规则为

0-0=0

1-0=1

1-1=0

0-1=1(向高位借1作2)

【例1-2】求X-Y,其中X=11000011,Y=00101101。

解:按照二进制加法运算规则,

结果为10010110。

(3)乘法运算

乘法运算的规则为

0×0=0

0×1=0

1×1=1

【例1-3】求X×Y,其中X=1001,Y=0101。

解:按照二进制乘法规则,

结果为0101101B

(4)除法运算

除法运算规则为

0÷1=0

1÷1=1

【例1-4】求X÷Y,其中X=10110100,Y=1001。

解:按照二进制除法规则

结果商为101000B,余数为0。

2.逻辑运算

在布尔逻辑中,基本的逻辑关系有与、或、非、异或等。

(1)逻辑与运算

一个事件由多个条件决定,如果决定这件事的所有条件均满足该事件才成立,则所有条件之间满足逻辑“与”关系。逻辑与运算用“·”或“&”逻辑运算符表示,其基本运算规则如下

0×1=0

1×1=1

0×1=0

计算机中的逻辑与运算就是将二进制逐位进行逻辑与运算。

【例1-5】求X与Y的逻辑与运算,其中X=10110111,Y=00001111。

解:按照二进制逻辑与规则,逐位进行逻辑与,即

其结果为00000111B。

(2)逻辑或运算

一个事件由多个条件决定,当决定这个事件的任意一个条件满足,该事件即可成立,则所有条件满足逻辑“或”关系。逻辑或运算使用“+”或“|”逻辑符号表示,其基本运算规则如下

0+1=1

1+1=1

0+0=0

计算机中的逻辑或运算就是将二进制逐位进行逻辑或运算。

【例1-6】求A与B的逻辑或运算,其中A=10110111,B=10000110。

解:按照二进制逻辑或运算规则,逐位进行逻辑或,即

其结果为10111111B。

(3)逻辑非运算

逻辑“非”即为逻辑“反”,条件满足时事件不成立,条件不满足时事件成立。用X表示条件,用Y表示事件结果,X与Y的逻辑非可以表示为

逻辑非的运算规则为

【例1-7】求X的逻辑非,X=11001000。

解: ==00110111

其结果为00110111B。

(4)逻辑异或运算

决定事件结果的两个条件如果相同时事件不成立,只有两个条件不同时事件才成立,这就是逻辑异或,用逻辑符号“⊕”表示。逻辑异或的运算规则如下

0⊕=0

1⊕1=0

0⊕1=1⊕0=1

【例1-8】求A和B的逻辑异或运算,A=1000,B=1101。

解:

异或之后的结果为0101B。