二进制数算术运算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数字电路与逻辑设计》

试讲教师:孙发贵

工作单位:北京化工大学北方学院

教学内容与过程

(一)讲解新课

在数字电路中,0和1既可以表示逻辑状态,又可表示数量的大小。当表示数量时,可以进行算术运算。

与十进制数的算术运算相比

1:运算的规则类似;

2:进位和借位规则不同(逢二进一,借一当二)

特点:加、减、乘、除全部可以用相加和移位这两种操作实现。——简化了电路结构所以数字电路中普遍采用二进制算数运算。

一、无符号二进制数的算术运算:

1、二进制数加法:

运算规则:0+0=0,0+1=1,1+1=10(向高位进一)—逢二进一

例:计算二进制数1010和0101的和。

2、二进制数减法:

运算规则:0-0=0,1-1=0,1-0=1, 0-1=11(向高位借一)—借一当二

例:计算二进制数1010和0101的差。

注意:在无符号减法运算中无法表示负数,所以,被减数必须大于减数。

3、二进制数乘法:

由左移被乘数与加法运算构成。

例:计算二进制数1010和0101的积。

4、二进制数除法:

由右移被除数与减法运算构成。

例:计算二进制数1010和111之商。

二、带符号二进制数的减法运算:

二进制数的正、负号也是用0/1表示的。

最高位为符号位(0为正,1为负)

例如:

+89 = (0 1011001)

-89 = (1 1011001)

在数字电路中,为简化电路常将减法运算变为加法运算。故引入原码、反码、补码的概念。

1、原码、反码、补码:

1) 原码:自然二进制码01101=(13)D

2) 反码:原码取反10010=(18)D

N反=(2n–1)–N原,其中n为二进制数的位数

3) 补码:N补=2n-N原=N反+1

01101=(13)D 10010=(13)反

(13)补:(25-13) D=(19)D=10010+1=10011=(19)D

2、二进制数的补码表示:

补码或反码的最高位为符号位,正数为0,负数为1。

当二进制数为正数时,其补码、反码与原码相同。

当二进制数为负数时,将原码的数值位逐位求反,然后在最低位加1得到补码。

X1 = 85 = +1010101 [X1]原= [X1]反=[X1]补=01010101

X2 = -85 = -1010101 [X2]原=

[X2]反=

[X2]补= [X2]反+1=

3、二进制补码的减法运算:

减法运算的原理:减去一个正数相当于加上一个负数A-B=A+(-B),对(-B)求补码,然后进行加法运算。

例:试用4位二进制补码计算5-2。

解:

注意:进行二进制补码加法运算时,被加数的补码和加数的补码的位数要相等,运算结果多出的高位要舍掉!

4、关于溢出:

例:试用4位二进制补码计算5+7。

解:因为(5+7)补=(5)补+(7)补

=0101+0111 = 1100 ——表示-4

而显然,正确的结果应为12!

为什么会发生错误?

因为在4位二进制补码中,只有3位是数值位,即它所表示的范围为-8 —— +7 。

而本例的结果需要4位数值位(12D=1100B)表示,因而产生溢出。

解决溢出的办法:进行位扩展。

溢出的判别:两个符号相反的数相加不会产生溢出,但两个符号相同的数相加可能产生溢出。4位二进制补码表示的范围为-8 —— +7 。所以(a)(b)无溢出; (c)(d)的运算结果应分别为+8和-9,均超过了允许范围。

具体判断溢出的方法:当方框中的进位位与和数的符号位(即b3位)相反时,则运算结果是错误的,产生溢出。

(二)本次课小结

(首先,让学生思考和回答本次课所学的主要内容,之后,老师作如下总结:)

1、无符号二进制数的算术运算:加、减、乘、除

2、带符号二进制数的减法运算

1)原码、反码、补码的概念

2)二进制数的补码表示

3)二进制补码的减法运算

4)溢出问题

(三)作业布置

1.习题:教材P37 1.3.3

课后记事:

相关文档
最新文档