二进制数的算术运算
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、二进制数除法: 由右移被除数与减法运算构成。
例:计算二进制数1010和111之商。 1. 0 1 1 … 111 1010 111 11 0 0 111 1 010 111 11
*
5
二、带符号二进制数的减法运算:
二进制数的正、负号也是用0/1表示的。
最高位为符号位(0为正,1为负) 例如: +89 = (0 1011001)
特点:加、减、乘、除
全部可以用相加和移位这
两种操作实现。 ——简化了电路结构
所以数字电路中普遍采用二进制算数运算
*
2
一、无符号二进制数的算术运算:
1、二进制数加法: 运算规则: 0+0=0,0+1=1,1+1=10 向高位进一 ——逢二进一
例:计算二进制数1010和0101的和。 1010 + 0101 1 11 1 2、二进制数减法: 运算规则: 0-0=0,1-1=0,1-0=1, 0-1=1 向高位借一 ——借一当二
11111 01101
10010
01101=(13)D 10010=(13)反 (13) 补: (25-13) D=(19)D
=10011=10010+1=(13)反+1
7
2、二进制数的补码表示:
补码或反码的最高位为符号位,正数为0,负数为1。
当二进制数为正数时,其补码、反码与原码相同。
当二进制数为负数时,将原码的数值位逐位求反,然 后在最低位加1得到补码。
X1 = 85 = +1010101 X2 = -85 = -1010101 [X1]原 = [X1]反 =[X1]补 =01010101 [X2]原 = 11010101 [X2]反 = 10101010 [X2]补 = [X2]反+1= 10101011 *
8
3、二进制补码的减法运算:
减法运算的原理:减去一个正数相当于加上一个负数 AB=A+(B),对(B)求补码,然后进行加法运算。 注意:进行二进制补码加法运算时,被加数的补 码和加数的补码的位数要相等,运算结果多出的 例: 试用4位二进制补码计算52。 高位要舍掉! 解: 0 1 0 1
0 1 0 +00111 1 1
=1100
1 1 01100 0 0
而显然,正确的结果应为12! 为什么会发生错误? 因为在4位二进制补码中,只有3位是数值位, 即它所表示的范围为-8~+7 。 而本例的结果需要4位数值位(12D=1100B)表示, 因而产生溢出。 解决溢出的办法:进行位扩展. *
(52)补=(5)补+(2) 补 =0101+1110
1 1 1 0
=0011 所以 52=3
1
自动Leabharlann Baidu弃 计算结果仍 保留4位
0 0 1 1
进位
*
9
4、关于溢出: 试用4位二进制补码计算5+7。
解:因为(5+7)补=(5)补+(7) 补 =0101+0111 表示-4
00101 0 1 0 1
-89 = (1 1011001)
在数字电路中,为简化电路常将减法运算变为加法 运算。故引入原码、反码、补码的概念。
*
6
1、原码、反码、补码:
1) 原码:自然二进制码01101=(13)D 2) 反码:原码取反 10010=(18)D 3) 补码:N补=2n-N原=N反+1
二进制数的位数 N反=(2n –1)–N原
10
溢出的判别:两个符号相反的数相加不会产生溢出, 但两个符号相同的数相加可能产生溢出
4 ) 3 7
2 ) 6 8
(c) (a)
0 1 0 0 0 0 1 1
5 ) 3 8
1 0 1 1 1 1 0 1 1 0 0 0
0
0 1 1 1
0 0 1 0 0 1 1 0
1
(b)
3 ) 6 9
(d)
1 1 0 1 1 0 1 0
0
1 0 0 0
1
0 1 1 1
4位二进制补码表示的范围为-8~+7 。所以(a)(b)无 溢出; (c)(d)的运算结果应分别为+8和-9,均超过了 允许范围。
当方框中的进位位与和数的符号位(即b3位)相反 时,则运算结果是错误的,产生溢出。 *
《数字电路与逻辑设计》
北京化工大学北方学院
主讲教师:白彦霞 E-mail:163byx@163.com
1
二进制数的算术运算
在数字电路中,0和1既可以表示逻辑状态,又 可以表示数量的大小。 当表示数量时,可以进行算术运算。 与十进制数的算术运算相比 1:运算规则类似; 2:进位和借位规则不同 (逢二进一,借一当二)
11
小 结
无符号二进制数的算术运算:加、减、乘、除
带符号二进制数的减法运算 原码、反码、补码 二进制数的补码表示 二进制补码的减法运算 溢出
end
12
谢
谢
敬请各位老师批评指正!
13
*
3
例:计算二进制数1010和0101的差。 1010 - 0101 0 10 1 注意:在无符号减法运算中无法表示 负数,所以,被减数必须大于减数。 1010 ×0101 1010 0000 1010 0000 110010
*
4
3、二进制数乘法: 由左移被乘数与加法运算 构成。 例:计算二进制数1010和 0101的积。