教案设计
姓名:***
学号:***********
班级:2009级
学院:计算机与信息科学
专业:计算机科学与技术(师范)日期:2011年12月26日
科目:微型计算机基础
课名:计算机中的数制和码制
授课时间:-月-日第-周星期-第-节
授课班级:--
授课者:包婷婷
课时:2课时
授课类型:新授课、习题课与讲授课
教学目标、要求:
一知识及技能目标:通过本堂课熟练掌握并灵活运用数制间的转换、补码运算、溢出判断二情感与价值目标:通过学习计算机数制和码制,在传统的思维基础上,学生进一步扩展创新型思维和开拓性眼界。
培养适应新环境的能力。
教学重点、难点:
重点:数制之间的转换级码制概念的理解
难点:补码的运算溢出判断
教学方法:启发、演示和讲练结合
参考资料:《微型计算机原理与接口技术》
张荣标机械工业出版社
《微型计算机系统原理及应用(第4版)》
周明德清华大学出版社
《微型计算机原理及应用辅导》
李伯成西安电子科技大学出版社
教学过程:
1导入课程:同学们,人生来就是不断地学习着,从最开始模仿我们周为人的说话方式和行动。
那么,同学们在我们正式进入学校开始学习之前,想必大家最开始学习的是数数。
从0——9,那么同学们有没有想过为什么要这样读和表示呢?为什么我们自己不能创造一种自己的表示和计算方式呢。
计算机就为我们提供的这样一个途径。
2:数制的概念
数制是人们按某种进位规则进行计数的科学方法。
数的位置表示(其中包括十进制、二进制、八进制、十六进制)
N=
其中,X为基数,a i为系数(0<=a i<=X-1),m为小数位数,n为整数位数十进制:由0、1、2、3、4、5、6、7、8、9十个系数组成,其中基数为10
二进制:由0、1二个系数组成,其中基数为2
八进制:由0、1、2、3、4、5、6、7八个系数组成,其中基数为8
十六进制:由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F组成,其中基数为16
例题:以二进制、八进制、十六进制表示数的结果
(111)D=1*102+1*101+1*100其中D表示十进制
(10011.11)B=1*24+0*23+0*22+1*21+1*20+1*2-1+1*2-2=19.75,其中B表示二进制
(45.2)Q=4*81+5*80+2*8-1=37.25,其中Q表示八进制
同学们这里十六进制就举例了。
以此类推便可以得出
3:数制间的转换
同学们,大家都知道每个国家都有其自己的货币。
但在国际贸易上都是采用的统一货币-美元。
我们也知道一美元可以兑换6.13人民币。
那么不同数制之间在一定程度上是等价的,因此是可以转换的。
那么下面进行数制间的转换学习
1 任意数制转换为十进制
这里我们上面讲解的例题中已经涉及到任意数制转换为十进制,这里就不在讲解了
2二进制、八进制、十六进制之间的转换(以二进制、八进制、十六进制表示数的结果)二进制、八进制、十六进制、之间的转换同学们根据书上的表进行对照记忆,三位二进制表示一位八进制,四位二进制表示一位十六进制。
3十进制转换为二进制
在学习十进制转换为二进制前,这里有两个法则需要同学们理解和记忆
整数除二取余,余数逆序排列,直至商为零为止。
小数乘二取整,整数顺序排列,直至小数部分为零为止。
例题:
(1)19=(?)
被除数余数
19 1
--------------
商(被除数) 9 1
---------------
4 0
---------------
2 0
---------------
1 1
---------------
所以(19)D=(10011)B
(2)19.815=(?)
根据(1)可知整数部分,那么我们所要求的是小数部分。
小数整数
0.8125*2=1.625 1
0.625*2=1.25 1
0.25*2=0.5 0
0.5*2=1.0 0
那么(19.815)D=(10011.1101)B
4:学生练习
以下哪个数最大
A (10110101)
B B (234)D
C (234)Q
D (123)H其中H表示十六进制
5码制的概念
同学们可能会想计算机用二进制运算时怎么表示数的符号呢
计算机中用1表示正,0表示负
这里有规定:二进制数的最高位表示数的符号,0表示正,1表示负。
其余各位表示数值的本身
设机器字长为N,数X的原码为[X]
这里为什么要有机器字长呢?因为计算机是机器,其运算能力是有限的,这里N表示一次可以允许有几位数可以一起算。
如:设字长为8位试求+0,-0,+127,-127,+6,-6的原码
[+0]=0000 0000
[-0]=1000 0000
[+6]=0000 0110
[-6]=1000 0110
[+127]=0111 1111
[-127]=1111 1111
反码表示
反码的规定:用二进制的最高位表示数的符号,0表示正,1表示负,正数的反码与原码相同,负数的只需把相应的数值部分按位取反即可
如:设字长为8位试求+0,-0,+127,-127,+6,-6的反码
[+0]=0000 0000
[-0]=1111 1111
[+6]=0000 0110
[-6]=1111 1001
[+127]=0111 1111
[-127]=1000 0000
补码表示
正数的补码与相应的原码相同,负数的补码只需在其反码的末位加1即可
如:设字长为8位试求+0,-0,+127,-127,+6,-6的补码
[+0]=0000 0000
[-0]=0000 0000
[+6]=0000 0110
[-6]=1111 1010
[+127]=0111 1111
[-127]=1000 0001
总结:通过上面我们可以在计算中看出正数的原、反、补码都是相同的
6补码的概念及运算。
.计算机中因为数的正负,有时计算出来的结果往往与我们预期的不一样。
如:(这里举例说明)我们都知道计算日期和时间时每到一个周期又回到原点。
比如我们在计算时间时。
如现在是十二点在过十二小时后时针任指的是十二点在计算机计算时也是采用时间和日期相识的运算法则。
为什么计算机要采用这种算法呢?
首先我们来看一个例子
X=64-12
(64)B=0100 0000 (-12) B =1000 1100
二进制相加其结果为1100 1100 即十进制数表示为-86其结果有错。
因此为了避免这种现象采用了补码运算可以有效的避免
[X-Y]补=[X] 补+[-Y]补
[X+Y]补=[X] 补+[Y]补
(2)补码的运算
[+64]补=0100 0000 [-12]补=1111 0100
其二进制相加的结果为0011 0100 即十进制为52
7:练习
X=34-98
8溢出的判断
任何事物都是有一定的限度的就如往一个容器里注水,超过了容器的容量水就会溢出。
计算机也如此。
当计算时,超过了计算机的容量就会发生溢出。
那么我们怎么判断在运算时是否发生溢出呢?
(1)介绍最高位Cs和低位Cp
取补码运算结果的最高位和次高位分别叫做Cs和Cp其中Cs表示符号位的进位。
Cp表示数值部分最高位的进位。
即当最高位(符号位)有进位时Cs=1否则为0,当次高位有进位时Cp=1,否则为0。
若Cs、Cp相同(同为0或为1)者无溢出发生,Cs、Cp相异(Cs=1、Cp=0或则Cs=0、Cp=1)时溢出发生
(2)溢出判断演示
(1)(-15)+(-67)
(-15)的补码是1111 0111
(-67)的补码是1011 1101
其运算的二进制结果是1 1010 1110,因为 Cs=1,Cp=1所以无溢出发生
(2)(-115)+(-87)
(-115)的补码是1000 1101
(-87)的补码是1010 1001
其运算的二进制结果是1 0011 0110,因为 Cs=1,Cp=0所以溢出发生
9练习
设X=-53 Y=+107 求[X-Y]补,[-X-Y]补,[-X+Y]补并指明溢出标志情况
10:总的知识点的练习(随堂检验)和针对前面的练习的疑难解惑
11知识点的梳理和总结
课后习题:习题四(1)(2)(3)(4)。