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]补
[X–Y]补=[X]补+[–Y]补
例19 已知X=+100011B,Y=–1011001B,求X+Y和X−Y的补码(用八位二进制数表示)。
解:X=+100011B>0,则[X]补=00100011;
Y=–1011001B<0,则–Y>0;[Y]补=10100111B,[–Y]补=01011001B。
由此得
[X+Y]补=[X]补+[Y]补=00100011+10100111=11001010B
[X–Y]补=[X]补+[–Y]补=00100011+01011001=01111100B
具体计算过程:
根据上面的计算过程,有
[X+Y]补=11001010=[X]补+[Y]补
[X–Y]补=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,求X∧Y,X∨Y,X⊕Y。
解:根据逻辑运算规则,所求结果为:
X∧Y=0070H,X∨Y=77F7H,X⊕Y=7787H