文档介绍:第二讲计算机中数的表示及运算(序)
教学方法: 讲授法
授课时数: 2学时
教学目的:
1、理解原码、反码、补码的概念
2、掌握真值、原码、反码及补码间的换算
3、熟悉BCD码和ASCII码
教学重点:
补码的概念及运算
BCD码及ASCII码
教学难点:
补码的运算
教学环节:
组织教学:(3分钟)检查学生人数
复习提问:(2分钟)
原码、反码、补码三者之间有何关系?
讲授新课:(70分钟)
4)补码的运算
当X≥0时,[X]补= [X]反=[X]原
[ [X]补]补= [X]原
[X]补+ [Y]补= [ X+Y ]补
[ X-Y ]补= [ X+(-Y)]补
例:已知 X=52 Y=38 求X-Y
方法1: 减法: 方法2: 加法
X-Y = 52-38 =14 X-Y = [ [ X-Y]补]补= [ [X]补+[-Y]补]补
0 0 1 1 0 1 0 0 =[ [52]补+[ -38]补]补
-) 0 0 1 0 0 1 1 0 =[ 14 ]补=14
0 0 0 0 1 1 1 0
[52]补: 0 0 1 1 0 1 0 0
[-38]补:+) 1 1 0 1 1 0 1 0
1 0 0 0 0 1 1 1 0
自然丢失
计算机在做算术运算时,必需检查溢出,以防止发生错误
5)运算的溢出问题
资料字长(位数)有一定限制,所以资料的表示应有一个范围。
如字长8位时; 补码范围-128~+127
若运算结果超出这个范围,便溢出。
例:
[98]补: 0 1 1 0 0 0 1 0 [85]补: 0 1 0 1 0 1 0 1
[25]补:+)0 0 0 1 1 0 0 1 [47]补:+)0 0 1 0 1 1 1 1
[123]补: 0 1 1 1 1 0 1 1 [132]补: 1 0 0 0 0 1 0 0
未溢出 0 0 溢出 0 1
Cs+1 Cs(未溢出) Cs+1 Cs (溢出)
错:两个正数相加和为负数。
[- 85]补: 1 0 1 0 1 0 1 1 [- 19]补: 0 1 0 1 0 1 0 1
[- 47]补:+)1 1 0 1 0 0 0 1 [- 79]补:+)1 0 1 1 0 0 0 1
[- 132]补: 1 0 1 1 1 1 1 0 0 [- 98]补: 1 1 0 0 1 1 1 1 0
溢出 1 0 未溢出 1 1
Cs+1 Cs Cs+1 Cs
错:两个负数相加和为正数。
可见:结果正确(无溢出)时,Cs+1 = Cs
结果错误(溢出)时,Cs+1 ≠ Cs
溢出判断:溢出= Cs+1Cs(即结果是0为无溢出;1为有溢出)
十进制数的编码
对机器:二进制数方便,
对人:二进制数不直观,习惯于十进制数。
在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。
怎么办?
可以将十进制的字符用二进制数进行编码:
0000 9 1001
0001 1010
2 0010 1011
3 0011 1100 未用码
4 0100 1101
5 0101 1110
6 0110 1111
0111
8 1000
这叫做二进制数对