微机原理2PPT优秀课件.ppt

上传人:scccc 文档编号:13266059 上传时间:2021-12-20 格式:PPT 页数:58 大小:1.38MB
返回 下载 相关 举报
微机原理2PPT优秀课件.ppt_第1页
第1页 / 共58页
微机原理2PPT优秀课件.ppt_第2页
第2页 / 共58页
微机原理2PPT优秀课件.ppt_第3页
第3页 / 共58页
微机原理2PPT优秀课件.ppt_第4页
第4页 / 共58页
微机原理2PPT优秀课件.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《微机原理2PPT优秀课件.ppt》由会员分享,可在线阅读,更多相关《微机原理2PPT优秀课件.ppt(58页珍藏版)》请在三一文库上搜索。

1、第二章 微机运算基础,微型计算机原理及应用,主编:李继灿,清华大学出版社,2,内容提要,2.4 二进制数的运算,2.3 二进制编码,2.1&2 进位记数制及转换,2.6 带符号数的表示,2.5 定点数和浮点数,3,进位记数制是按一定的规则和符号表示数量的方法生活中的数制六十进制: 1小时=60分, 1分=60秒十二进制: 1英尺=12英尺,1年=12月十进制:符合人们的习惯, 10 =,2.1 进位记数制,4,进位记数制三要素:数码、基数、位权 数码:每个数位上允许的数的集合 基数:进制中允许每个数位上选用基本数码的个数 位权:数码“1”在不同数位上代表的数值例如:十进制 数码:0 -

2、 9十个数码 基数:10,逢十进一,借一当十 位权:第i位的权值为10i (143.75)10=1102+4101+3100+710-1+ 510-2任意十进制数 N=di10i,进位计数制的基本概念,5,任意r进制数 (N)r=qnRn+qn-1Rn-1+q0R0+q-1R-1+q-2R-2+q-mR-m =qiRi (qi为0,1,r-1中的一个数)其中:R 基数 qi 第 i 位的系数(N种数码) Ri 第 i 位的权,6,1 二进制 Binary (5bainEri) 例如: (1001)2 1001B2 八进制 Octal 5Cktl 例如: (317)8 317Q 3 十进制 De

3、cimal(5desimEl) 例如: (531)10 531D 4 十六进制 Hexadecimal (heksE5desIm(E)l) 例如: (9A1)16 9A1H,数字系统中常用的数制,7,二进制特点: 数码:0和1两个数码 进位规则:逢二进一,2.1.2 二进制(Binary),0(2n-1),例如:(101.11)2 =122+021+120+121+122 = (5.75)10 任何二进制数 D=Ki 2i,n位二进制无符号整数表示范围:,最早倡导二进制的是德国科学家莱布尼兹,世界上总共有10 种人,一种懂得什么是二进制,一种不懂,8,数码:0,1,2,3,4,5,6,7 进位

4、规则:逢八进一例如: (23.71)8=281+380+78-1+18-2 =(19.890625)10,2.1.3 八进制 Octal,9,2.1.4 十六进制数,特点:基数为16,有0-9和A(10)、B(11)、C(12)、D(13)、E(14)、F(15)共16个数码 逢16进一,借一当16对于任意十六进制数 H=hnhn-1h0.h-1h-2h-m可以表示为: (H)16=hn16n+hn-116n-1+h0160+h-116-1+h-m16-m -m = bi16i i=n,举例: BF3CH=11163+15162+3161+12160 =114096+15256+316+121

5、 =48956D,10,各种数制对照表,11,2.2 数制之间的转换,非十进制数转换为十进制数 按权相加法:先将各位数码与权值相乘,再将各位的乘积值相加,得到十进制数 十进制数转换为任意进制数整数小数分别转换整数部分:除基取余法小数部分:乘基取整法 转换举例任意进制转为十进制十进制转为其他十进制二进制、八进制与十六进制互转,12,2.2.1 任意进制转换为十进制,转换方法: 按权相加法(掌握)特点:比较直观,适于手算 逐次乘基相加法 特点:适合于编程实现,例:按权相加法 1011.101B=123+022+121+120+12-1+12-3 =8+0+2+1+0.5+0.125=11.625D

6、,3162+14161+5160+816-1 =768+224+5+0.5 =997.5D,例:3E5.8H=,13,2.2.2 十进制数转换为非十进制数,十进制整数转换成等值的二进制数转换方法: 除2取余法(直至商为0,余数从低到高排列)(掌握) 减权定位法,117 余数, (117)10 = (1110101)2,2,58 1,2,29 0,14 1,2,2,2,7 0,3 1,2,1 1,2,例:(117)10=(?)2,0 1,或 117D = 1110101B,14,(b)十进制小数转换为二进制小数,转换方法: 乘2取整法 (掌握) 减权定位法,注:1.若出现乘积的小数部分一直不为“

7、0”,根据计算精度的要求截取一定的位数即可; 2.一个十进制数不一定有对应的二进制数。,小数部分乘以2 整数部分 小数部分0.81252=1.625 1 0.625 0.6252=1.25 1 0.250.252=0.5 0 0.5 0.52=1 1 0,例:(0.8125)10=(?)2,=(1101)2,15,转换方法:分组转换(掌握),2.2.3 二/八/十六进制数的互换,二进制-八进制 原则:三位二进制对应一位八进制 011 101 111 110 3 5 7 6 011101111110B = 3576Q十六进制-二进制 A 1 9 C 1010 0001 1001 1100 A19

8、CH = 1010000110011100B,16,内容提要,2.4 二进制数的运算,2.3 二进制编码,2.1&2 进位记数制及转换,2.6 带符号数的表示,2.5 定点数和浮点数,17,2.3 二进制编码,计算机只能识别二进制数二进制编码数字:用二进制表示十进制BCD码字母:ASCII码符号声音图像,18,2.3.1 二进制编码的十进制,BCD码(Binary Code Decimal)10个不同数字逢十进位(十进制)8421码例如:10D的(0001 0000)BCD,例: 11.25D= (?)BCD,=(0001 0001.0010 0101)BCD,=(1011.01)BC

9、D ?,19,2.3.2 字符编码,AZ,az及09的编码按顺序递增数据编码,便于检索。,美国信息交换标准代码(ASCII码)ASCII码(American Standard Code for Information Interchange)由7位二进制数组成,可表示128种字符。,包括: 0-9十个数字 52个大小写英文字母 34个专用符号 32个控制符号,128个元素,非打印类(控制代码):33个,如回车(0DH)、换行(0AH)等打印类:95个,包括英文字符、数字和其他可打印的符号等。,20,数字0-9的ASCII码:30H-39H 30H+数值A-Z的ASCII码:41H-5AHa-z

10、的ASCII码:61H-7AH 小写字母的ASCII码=对应大写字母的ASCII码+20H换行的ASCII码:0AH 回车的ASCII码:0DH空格的ASCII码:20H,ASCII码,21,ASCII码,22,内容提要,2.4 二进制数的运算,2.3 二进制编码,2.1&2 进位记数制及转换,2.6 带符号数的表示,2.5 定点数和浮点数,23,2.4 二进制数的运算,无符号数的两种基本运算算术运算逻辑运算,1.算术运算 二进制数:逢二进一 借一当二 加法规则 乘法规则 0 + 0 = 0 0 0 = 0 0 + 1 = 1 0 1 = 0 1 + 0 = 1 1 0 = 0 1 +

11、 1 = 0 (进位1) 1 1 = 1,24,(被加数) 1 0 1 0 1 1 0 1+ (加数) 0 0 1 1 1 0 0 1 (进位) 1 1 1 1 (和) 1 1 1 0 0 1 1 0,运算过程:,(被减数) 1 0 1 0 1 1 0 1 (减数) 0 0 1 1 1 0 0 1 (借位) 1 1 1 (差) 0 1 1 1 0 1 0 0,加法,减法,25,1101 1011,1101 1101 0000 1101,10001111,部分积,乘法,例. 11011011,26,二进制除法,例. 100011101,100011,111,000111,101,101,101,

12、101,101,000(余数),商: 111余数:0,实现除法的关键:比较余数、除数绝对值大小,以决定上商。,27,2.4.2 逻辑运算(按位操作),“与”运算(AND) “或”运算(OR) A B AB A B AB 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1“非”运算(NOT) “异或”运算(XOR,) A A B AB 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0,28,例:X=00FFH Y=5555H,求Z=XY= ? X= 0000 0000 1111 1111 B Y= 0101 0101 0101 0101

13、B Z= 0101 0101 1010 1010 B Z=55AAH,异或,29,内容提要,2.4 二进制数的运算,2.3 二进制编码,2.1&2 进位记数制及转换,2.6 带符号数的表示,2.5 定点数和浮点数,30,2.6 带符号数的表示法,真值用正、负符号加绝对值表示的二进制数值机器数在计算机内部使用的、符号数码化的定长二进制数计算机硬件能够直接识别、处理,例如: +9的真值:+1001 -9的真值:-1001,31,机器数的实现需要解决三个问题进制:只能采用二进制 Why?将符号位数字化采用什么编码方法表示数值,32,带符号数的编码方式原码表示(掌握)反码表示补码表示(重点),

14、对于正数,三种表示方式一样,其区别在于负数的表示,33,原码(true code)表示法:符号位 + 数值表示定点整数,1. 原码表示法,11111111-(27-1),01111111(27-1),0,例:n = 8bit +3原码 = 0 0000011 = 03H -3原码 = 1 0000011 = 83H +0原码 = 0 0000000 = 00H -0原码 = 1 0000000 = 80H,例如: n=8, 0 的表示不惟一,n位原码表示范围: -2(n-1)+1X2(n-1)-1,34,原码性质,原码为符号位加数的绝对值,0正1负符号和数值无关0可分+0和-0 +0 为 00

15、0 -0为 100用原码做加减运算比较复杂,但乘除方便比较直观电路设计时,需要对最高位和其他位分别处理,35,反码(ones complement code)表示法 正数的反码同原码,负数的反码数值位与原码相反例:n = 8bit +5反码 = 0 0000101 = 05H -5反码 = 1 1111010 = FAH +0反码 = 0 0000000 = 00H -0反码 = 1 1111111 = FFH 0 的表示不惟一,2. 反码表示法,*反码不能直接进行两数的加减运算,36,3 补码表示法,正数的补码: 同原码负数的补码:(1)写出与该负数相对应的正数的补码 (2)按位求反 (3)

16、末位加一,补码(Twos Complement),37,例: 机器字长8位,- 46补码 = ? 46补码 = 0 0 1 0 1 1 1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 = D2H 当机器字长16位,- 46补码 = FFD2H,按位求反,末位加一,由真值、原码转化为补码,特例:-128补=10000000B,+1补=00000001B,-1补=11111111B,求补规则: 正数的补码符号位为0,数值部分就是真值。负数的补码符号位为1,数值部分可由真值的数值部分按位取反,末位加一得到。,38,由真值、原码转化为补码,例 若X原=1.1010,求X补,X补

17、 = 1.0110,末尾加1 + 1,尾数变反 1.0101,X原 = 1.1010,39,0 0 0 0 0 0 0 0取反 1 1 1 1 1 1 1 1 + 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0,例: +0补码 = 0 0 0 0 0 0 0 0 -0补码 = ?,0的补码, 补码中0 的表示惟一,- 0补码 = 0 0 0 0 0 0 0 0 = +0补码,进位,40,十进制 二进制 十六进制 十进制 十六进制 n=8 n=16 +127 0111 1111 7F +32767 7FFF +126 0111 1110 7E +32766 7FFE . .

18、. +2 0000 0010 02 +2 0002 +1 0000 0001 01 +1 0001 0 0000 0000 00 0 0000 -1 1111 1111 FF -1 FFFF -2 1111 1110 FE -2 FFFE . . .-126 1000 0010 82 -32766 8002-127 1000 0001 81 -32767 8001-128 1000 0000 80 -32768 8000,n位二进制补码整数的表示范围: - 2n-1 X 2n-1-1,补码比原码多表示一个数!,n位原码表示范围: -2n-1+1X2n-1-1,41,提问:Java中Short类

19、型的表示范围?,-32768+32767,42,X补 = 1.0110 尾数变反 1.1001 末位加1 + 1 X原= 1.1010 真值 -0.1010 =(-0.625)10,规则:若补码的符号位为0,则真值为正,真值的数值部分等于补码的数值部分;若补码的符号位为1,则真值为负,真值的数值部分由补码的数值部分取反加一得到。, 由补码求真值,例:X补 = 1.0110,求X原与真值,43,性质:X补 -X补 X补, 117补=01110101对117求补: 取反得: 10001010 加一得: 10001011 -117补= 10001011 对-117求补: 取反得: 01110100

20、加一得: 01110101,例:,求补运算 :对一个补码表示的机器数(可以是正数或负数),连同符号位一起按位变反后,在最低位加1.,求补,求补,3. 由x的补码求-x的补码,44,2.6.3 补码的运算:加法和减法,64(-46) 18,+,0100 00001101 00100001 0010,+,例: X=64D, Y=46D, 求X-Y,补码减法可转换为补码加法,因此加减法可以使用同一个电路实现,加法规则:X+Y补码 = X补码 + Y补码减法规则:X-Y补码 = X补码 + -Y补码,45,补码的优势,满足(-x)+(+x)=0 (-6)+(+6)=00000110+11111010=

21、00000000,0000 0110,+1000 0110,1000 1100,原码,0000 0110,+1111 1010,10000 0000,补码,46,小结,原码0与0不唯一;8位原码表示数的范围为: -127 +127;原码不能直接进行两数的加减运算反码0与0不唯一;8位原码表示数的范围为: -127 +127;原码不能直接进行两数的加减运算补码补码0与0唯一;数的范围为: -128 +127;可以直接进行两数的加减运算,47,原码数值部分,反码数值部分,补码数值部分,取反,末位减1,末位加1,求补,负数原/反/补码关系,48,溢出(overflow):运算结果超出规定字长的机器数

22、的表示范围。 正溢:超过最大正数 负溢:超出最小负数 溢出将使结果的符号位产生错乱。,2.6.4 溢出及其判断方法,机器定点小数表示,49,溢出判别方法,符号位相加进位D7c数值部分的最高位相加进位D6c,01000000 (+64补) + 11000001 (+65补) 10000001 (-127补),D6c,1,0,D7c,D7cD6c=1 溢出D7cD6c=0 无溢出,10000001 (-127补) + 11111110 (-2补) 101111111 (+127补),D6c,0,1,D7c,50,溢出与进位,进位:运算结果的最高位向更高位的进位。Cy,Cy= D7c,溢出与进位不同

23、!,51,内容提要,2.4 二进制数的运算,2.3 二进制编码,2.1&2 进位记数制及转换,2.6 带符号数的表示,2.5 定点数和浮点数,52,2.5 定点数和浮点数,1.定点数(Fix point number) 小数点位置固定不变的数(1)无符号整数 略去符号位的正整数(2)带符号整数可以使用原码、反码、补码表示,小数点隐含位置,(共n+1位),小数点隐含位置,符号位,53,(3)带符号定点小数(纯小数),数值部分,小数点隐含位置,符号位,n位定点小数表示范围:,54,浮点数(Floating point number) :小数点位置是浮动的 分两部分: 阶码P:用定点整数表示

24、,它决定了浮点数的取值范围。 尾数S:常用定点小数表示,它决定了浮点数的表示精度。,2.5.2 浮点表示,Pf,Pm-1,阶符,阶码小数点位置(隐含),m位阶码,P2,P1,Sf,Sk-1,S2,S1,k位尾数,尾符,尾数小数点位置(隐含),55,举例,将二进制数x = -0.1010 2-11写成机器数形式。共占8位,阶码占3位,尾数占5位(各含1位符号位)。,阶码和尾数都用原码表示,阶码和尾数都用补码表示,1 1 1 1 1 0 1 0,1 0 1 1 0 1 1 0,实际应用中,阶码J常用移码表示,尾数X常用补码表示。,56,问题:表示不唯一。例如 0.1010 20= 0.0101 21规格化的浮点数(尾数的规格化): 尾数应为纯小数,小数点后面的第1位必须为1 尾数的值不为0时,其绝对值应大于等于十进制的0.5而小于1,即1/2|X|1。 浮点表示法的特点: 优点:在有限位数(即不增加字长)内,既能保证有较大的取值范围,又能保证较高的精度。 缺点:实现浮点运算的硬件成本较高 。,57,作业,P40练习二3、4、5、8、10、15,个人观点供参考,欢迎讨论,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1