二进制数算术运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
课后记事: