1.4 微型计算机的二进制运算

微型计算机的运算包括算术运算和逻辑运算。算术运算包括加、减、乘和除四种运算,而在微型计算机内部常常只有加法电路,因此需要在加法电路的基础上完成算术的四种基本运算。

1.4.1 算术运算

(1)加法规则

0+0=0,0+1=1,1+0=1,1+1=0(向前有进位)。

(2)减法规则

0–0=0,1–0=1,1–1=0,0–1=1(向前有借位)。

二进制数的加、减运算类似于十进制数的加、减运算,小数点对齐后,相应位按加、减规则直接进行运算即可。

任何有符号数在计算机中一般用定点整数的补码形式表示,其运算结果也是定点整数的补码形式。补码的运算规则是:

[X+Y]=[X]+[Y]

[XY]=[X]+[–Y]

例19 已知X=+100011B,Y=–1011001B,求X+YXY的补码(用八位二进制数表示)。

解:X=+100011B>0,则[X]=00100011;

Y=–1011001B<0,则–Y>0;[Y]=10100111B,[–Y]=01011001B。

由此得

[X+Y]=[X]+[Y]=00100011+10100111=11001010B

[XY]=[X]+[–Y]=00100011+01011001=01111100B

具体计算过程:

根据上面的计算过程,有

[X+Y]=11001010=[X]+[Y]

[XY]=01111100=[X]+[–Y]

一般来讲,采用补码形式表示数据后,符号位可以和数值位一样参加运算,而且减法运算可以通过加法运算来实现。采用补码进行加、减运算时应注意以下几点:

①加法运算时,符号位产生的进位丢掉不管,其结果是正确的;

②运算结果不能超出机器数所能表示的范围,否则运算结果不正确,会按“溢出”处理,溢出现象只会发生在同号数相加或异号数相减运算之中;

③采用补码运算后,结果也是补码,欲得运算结果的真值,还需进行转换。

1.4.2 逻辑运算

逻辑运算是针对逻辑数据进行的运算。逻辑数据主要是用来表示“是”或“否”,或称“真”或“假”两个状态的数据,在计算机中用“1”表示“是”或“真”,用“0”表示“否”或“假”。这里“1”和“0”没有数值和大小的概念,只有逻辑意义。

逻辑运算的规则如下:

①逻辑“与”(AND)

“与”运算又称逻辑乘,用符号·或∧表示,其运算规则如下:

0∧0= 0∧1=0 1∧0=0 1∧1=1

②逻辑“或”(OR)

“或”运算又称逻辑加,用符号+或∨表示,其运算规则如下:

0∨0=0 0∨1=1 1∨0=1 1∨1=1

(3)逻辑“非”(NOT)

“非”运算用符号¯来表示,其运算规则如下:

(4)逻辑“异或”(XOR)

“异或”运算用符号⊕表示,其运算规则如下:

0⊕0=0 0⊕1=1 1⊕0=1 1⊕1=0

例20 已知X=00F0H,Y=7777H,求XYXYXY

解:根据逻辑运算规则,所求结果为:

XY=0070H,XY=77F7H,XY=7787H