第1章 微型计算机基础——郑学坚、周斌《微型计算机原理及应用》_第1页
第1章 微型计算机基础——郑学坚、周斌《微型计算机原理及应用》_第2页
第1章 微型计算机基础——郑学坚、周斌《微型计算机原理及应用》_第3页
第1章 微型计算机基础——郑学坚、周斌《微型计算机原理及应用》_第4页
第1章 微型计算机基础——郑学坚、周斌《微型计算机原理及应用》_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、11第一章 微型计算机基础2第1章 微型计算机基础章节目录进位计数制进位计数制进位数制之间的转换进位数制之间的转换123二进制编码二进制编码4二进制运算二进制运算5数的定点与浮点表示数的定点与浮点表示6带符号数的表示方法带符号数的表示方法7无符号数的运算无符号数的运算8BCDBCD数的加减运算数的加减运算31 进位计数制n 基本概基本概念念进位计数制进位计数制(简称进位制简称进位制):利用符号按照利用符号按照进位原则进位原则来计数的方法,一种进位计数制包含一组来计数的方法,一种进位计数制包含一组数码符号数码符号和两个基本因素和两个基本因素(基数,权基数,权)。数码数码(Number):用不同的

2、用不同的数字符号数字符号来表示一种数制来表示一种数制的数值,这些数字符号称为的数值,这些数字符号称为“数码数码”。例如:例如:十进制数码十进制数码(0,1,2,9)基数基数(Radix,也称为底数也称为底数):数制中所使用的数制中所使用的数码个数码个数数称为该计数制的称为该计数制的“基数基数”。例如:例如:十进制有十进制有10个数码,因此基数为个数码,因此基数为10,逢十进,逢十进一。一。41 进位计数制210110010n 基本概基本概念念位权位权(Weight):某数制中,每一位所具有的值称为某数制中,每一位所具有的值称为“位权位权”,用基数的,用基数的n次幂来表示。次幂来表示。例如:十进

3、制中位权表示为,例如:十进制中位权表示为, (百分位),(百分位), (十(十分位),分位), (个位),(个位), (十位)。(十位)。结论:在各种进位计数制中,十进制是人们最熟悉结论:在各种进位计数制中,十进制是人们最熟悉的,二进制在计算机内使用,八进制和十六进制则的,二进制在计算机内使用,八进制和十六进制则可看成二进制的压缩形式。可看成二进制的压缩形式。11051 进位计数制n 十进制(十进制(Decimal Number)数码:数码:0,1,2,3,4,5,6,7,8,9基数:基数:10位权:位权:10i规则:逢十进一规则:逢十进一表示:表示:32343.43D或者(或者(32343.

4、43)10位权位权位权位权位权位权位权位权位权位权位权位权位权位权61 进位计数制n 二进制(二进制(Binary Number)数码:数码:0,1基数:基数:2位权:位权:2i规则:逢二进一规则:逢二进一表示:表示:1101.11B或者或者(1101.11)2例1 求(1100101.101)2 的等值十进制(1100101.101)2=126+125+024+023+122+021+120+12-1 +02-2+12-3=64+32+0+0+4+0+1+0.5+0.125 =(101.625)10 即 (1100101.101)2 =(101.625)10结论:计算机内部使用的是结论:计算

5、机内部使用的是二进制编码二进制编码(也称为基也称为基2码码),容易实现、规则简单、运算方便,容易实现、规则简单、运算方便71 进位计数制n 八进制(八进制(Octale Number)数码:数码: 0,1,2,3,4,5,6,7,基数:基数:8位权:位权:8i规则:逢八进一规则:逢八进一表示:表示:257O或者(或者(257)8例1 八进制转换成十进制(257)8=282+581+780=128+40+7=(175)10 81 进位计数制n 十六进制(十六进制(Hexadecimal Number)数码:数码: 0,1,2,3,4,5,6,7,8,9,A , B , C , D , E , F

6、基数:基数:16位权:位权:16i规则:逢十六进一规则:逢十六进一表示:表示:257H或者或者(257)16例1 十六进制转换成十进制(257)16=2162+5161+7160=2256+516+7=(599)1091 进位计数制逢二进一逢二进一R=20,1 2i -1 1011B(1011)2逢八进一逢八进一R=80,1,7 8i -1 145O(145)8逢十进一逢十进一R=100,1,9 10i -1 145D(145)10逢逢16进一进一R=160,1,9A,B,F 16i -1 15EH(15E) 16数字后加字母或数字加下标101 进位计数制112 进位数制之间的转换n二进制数转

7、换为十进制数二进制数转换为十进制数u方法方法1:按权展开按权展开多项式和多项式和的形式的形式u方法方法2:整数部分、小数部分整数部分、小数部分分别转换分别转换整数整数部分(从最高位开始,连续乘部分(从最高位开始,连续乘2)小数小数部分(从最低位开始,连续除部分(从最低位开始,连续除2)122 进位数制之间的转换2 66 0233 1216 028 024 022 021 1 0即即(66)10=(1000010)2n十进制数转换为二进制数十进制数转换为二进制数整数整数部分(除部分(除2逆取余)逆取余)除2取余,逆序排列132 进位数制之间的转换n十进制数转换为二进制数十进制数转换为二进制数小数

8、小数部分(乘部分(乘2顺取整)顺取整)(0.625)10的等值二进制数 0.6252=1.250 1 0.2502=0.500 0 0.5002=1.000 1 即(0.625)10=(0.101)2 所以,(66.625)10=(1000010.101)2 这里要说明的是,十进制小数不一定都能转换成完全等值的二进制小数乘2取整,顺序排列142 进位数制之间的转换 0.6875 取整数部分 2 1.3750 1 0.3750 2 0.7500 0 2 1.5000 1 0.5000 2 1.0000 1 0.0000 结果 (0.6875)10 = (0.1011)2152 进位数制之间的转换

9、n十进制数与十六进制数的转换十进制数与十六进制数的转换十六十六十:将十六进制数按权展开相加十:将十六进制数按权展开相加十进制整数十进制整数十六:除十六:除1616取余法取余法如:如: 38947=9823H 38947=9823H如:如: 1F3DH=161F3DH=163 31 116162 2151516161 13 316160 01313 =4096 =40961 1256256151516163 31 11313 =4096 =409638403840484813=799713=7997 16 38947 316 38947 3 16 2434 2 16 2434 2 16 152

10、8 16 152 8 16 9 9 16 9 9 0 0余数倒序排列余数倒序排列162 进位数制之间的转换n十六进制数与二进制数之间的转换十六进制数与二进制数之间的转换u二进制转换为十六进制二进制转换为十六进制整数整数部分:部分: 从小数点从小数点左边左边第一位开始,每第一位开始,每4位位一组,最高位不足补一组,最高位不足补0小数小数部分:部分: 从小数点从小数点右边右边第一位开始,每第一位开始,每4位位一组,最低位不足补一组,最低位不足补0u十六进制转换为二进制十六进制转换为二进制将十六进制数的每将十六进制数的每1位,用位,用4位二进制数替代,去掉无意义的零。位二进制数替代,去掉无意义的零。

11、例:例: 1111111000111B 1111111000111B 1 1111 1100 0111B 1 1111 1100 0111B 0001 1111 1100 0111B = 1FC7H0001 1111 1100 0111B = 1FC7H例:例: 3AB9H = 0011 1010 1011 1001B 3AB9H = 0011 1010 1011 1001B 172 进位数制之间的转换n八进制数与二进制数之间的转换八进制数与二进制数之间的转换u二进制转换为八进制二进制转换为八进制整数整数部分:部分: 从小数点从小数点左边左边第一位开始,每第一位开始,每3位位一组,最高位不足补

12、一组,最高位不足补0小数小数部分:部分: 从小数点从小数点右边右边第一位开始,每第一位开始,每3位位一组,最低位不足补一组,最低位不足补0u八进制转换为二进制八进制转换为二进制将八进制数的每将八进制数的每1位,用位,用3位二进制数替代,去掉无意义的零。位二进制数替代,去掉无意义的零。182 进位数制之间的转换法则:以小数点为界,一位八进制数对应三位二进制数,一位十六进制数对应四位二进制数。【注意】小数部分不足之处应补零【例】 (2C1.D)16=(0010 1100 0001. 1101)2 2 C 1 D【例】 (71.23)8=( 111 001 . 010 011)2 7 1 2 3 【

13、例】 ( 11 0110 1110 . 1101 01)2 = (36E.D4)16 3 6 E D 4记住8 4 2 11 1 1 1n总结:总结:192 进位数制之间的转换将二进制数将二进制数 1101101001100011 转换成十六进制数。转换成十六进制数。 【答案答案】DA63 【解析解析】将此二进制数按将此二进制数按每每4位为一组位为一组分成分成4组。组。 1101 1010 0110 0011 D A 6 3 所以二进制数所以二进制数1101101011000011对应十六进制数为对应十六进制数为DA63。 n例题:例题:202 进位数制之间的转换二进制数二进制数十进制数:十进

14、制数:二进制数二进制数十六进制数十六进制数十进制数十进制数n二进制和十进制的快速转换二进制和十进制的快速转换例例: :3894738947=32768+4096+2048+32+3=32768+4096+2048+32+3 =8000H+1000H+800H+20H+3H= =8000H+1000H+800H+20H+3H=9823H9823H十进制数十进制数二进制数:二进制数:十进制数十进制数十六进制数十六进制数二进制数二进制数1F3DH1F3DH=2000H-(80H+40H+3H)=2000H-(80H+40H+3H) =8192-(128 =8192-(12864+3)=64+3)=7

15、9977997记住8 4 2 11 1 1 121三种数制的对应关系2n二进制二进制十六进制十六进制十进制十进制常用缩写常用缩写241 000010162510 0000203226100 00004064271000 000080128281 0000 00001002562910 0000 0000200512210100 0000 000040010241K2111000 0000 000080020482K2121 0000 0000 0000100040964K21310 0000 0000 0000200081928K214100 0000 0000 000040001638416

16、K2151000 0000 0000 000080003276832K2161 0000 0000 0000 0000100006553664K222 进位数制之间的转换方法:方法:利用利用2 2n n和十六进制数、十进制数的和十六进制数、十进制数的对应关系对应关系,实现数制转换。实现数制转换。要求:要求: 熟悉熟悉2 2n n的二进制数的二进制数( (等于等于1 1后跟后跟n n个个0 0) )和十六进和十六进制数、十进制数的对应关系制数、十进制数的对应关系( (如上表所示如上表所示) ) 个别十进制整数和十六进制数的对应关系个别十进制整数和十六进制数的对应关系( (如如50=32H50=3

17、2H,80=50H80=50H,100=64H100=64H等等) ) 转换转换 84218421的转换关系的转换关系n二进制和十进制的快速转换二进制和十进制的快速转换思考:十进制的235怎么转换成十六进制和二进制?233 二进制编码n二进制编码的十进制二进制编码的十进制(BCD-Binary Coded Decimal)十进制十进制 BCDBCD码码十进制十进制 BCDBCD码码0 0 0000 00008 8 100010001 1 0001 00019 9 100110012 2 0010 00101010 0001 00000001 00003 3 0011 00111111 0001

18、 00010001 00014 4 0100 01001212 0001 00100001 00105 5 0101 01011313 0001 00110001 00116 6 0110 01101414 0001 01000001 01007 7 0111 01111515 0001 01010001 0101243 二进制编码nBCD的用途的用途253 二进制编码nBCD的用途的用途假定要显示数字15,怎么做呢?263 二进制编码需要理清以下关系:需要理清以下关系:首先,计算机内部的首先,计算机内部的15是用二进制是用二进制1111表示的表示的其次,其次,15要分别在两个数码管显示,一个

19、上是要分别在两个数码管显示,一个上是1,一个上是,一个上是5最后,数码管是最后,数码管是7段显示的,需要转换为段显示的,需要转换为8位二位二进制码进制码转换关系:转换关系:00001111(二进制)(二进制) 00010101BCD 分离为分离为00000001和和00000101 00000001转换为转换为00000011(03H)和)和01101101(06DH)假定要显示数字15,怎么做呢?273 二进制编码BCD码:码:用二进制代码进行十进制编码,它既具用二进制代码进行十进制编码,它既具有二进制码的形式(四位二进制码),又有十进有二进制码的形式(四位二进制码),又有十进制数的特点(每

20、四位二进制数就是一位十进制制数的特点(每四位二进制数就是一位十进制数)。数)。n二进制编码的十进制二进制编码的十进制(BCD-Binary Coded Decimal) 8421 BCD8421 BCD编码表编码表十进十进制数制数压缩压缩BCDBCD数数非压缩非压缩BCDBCD数数(ABC BCD(ABC BCD数数) )十进十进制数制数压缩压缩BCDBCD数数非压缩非压缩BCDBCD数数(ABC BCD(ABC BCD数数) )0 00H(0000B) 00H(0000 0000B)5 55H(0101B) 05H(0000 0101B)1 11H(0001B) 01H(0000 0001B

21、)6 66H(0110B) 06H(0000 0110B)2 22H(0010B) 02H(0000 0010B)7 77H(0111B)07H(0000 0111B)3 33H(0011B) 03H(0000 0011B)8 88H(1000B) 08H(0000 1000B)283 二进制编码例例1:十进制数十进制数256,BCD码为码为(256)D=(0010 0101 0110)BCD例例2:十进制数十进制数0.764,BCD码为码为(0.764)D=(0.0111 0110 0100)BCD压缩压缩BCDBCD数数用用8 8位位二进制数表示二进制数表示2 2个个十进制数位十进制数位非

22、压缩非压缩BCDBCD数数用用8 8位位二进制数表示二进制数表示1 1个个十进制数位十进制数位如:如:1919 压缩压缩BCDBCD 0001 1001 = 19H0001 1001 = 19H 19 19 非压缩非压缩BCDBCD 00000001 00001001 = 0109H00000001 00001001 = 0109Hn二进制编码的十进制二进制编码的十进制(BCD-Binary Coded Decimal)u 十进制数与十进制数与BCDBCD数的转换数的转换 直接查直接查8421 BCD8421 BCD编码表编码表293 二进制编码n二进制编码的十进制二进制编码的十进制(BCD-

23、Binary Coded Decimal)例例3:BCD码转换为十进制数码转换为十进制数( 0110 0010 1000.1001 0101 0100 ) BCD=(628.954)D二进制与二进制与BCD码之间的转换需经过码之间的转换需经过十进制。十进制。例例4:二进制数转换为为二进制数转换为为BCD码码(1011.01)B=(123+022+121+120+02-1+12-2)D=11.25D=(0001 0001.0010 0101)BCD303 二进制编码n其它常用二进制编码其它常用二进制编码 8421码:码:编码值编码值与与ASCII码字符码字符0到到9的低的低4位码相同位码相同。易

24、于实现人机联系,但比纯二进制编码效率低。易于实现人机联系,但比纯二进制编码效率低。余余3码:码:是在是在8421码的基础上,把每个代码都加码的基础上,把每个代码都加0011码而形成的码而形成的,它的主要优点是执行十进制数相,它的主要优点是执行十进制数相加时,能正确地产生进位信号,而且还给减法运算加时,能正确地产生进位信号,而且还给减法运算带来了方便。带来了方便。格雷码:格雷码:循环码循环码中的一种,任何两个相邻的代码只有中的一种,任何两个相邻的代码只有一个二进制位的状态不同,有利于抗干扰。一个二进制位的状态不同,有利于抗干扰。318421、余3码和格雷码323 二进制编码n字母与字符的编码字母

25、与字符的编码 美国国家信息交换标准码,美国国家信息交换标准码,ASCII码码(American national Standard Code for Information Interchaange)可显示字符(可显示字符(94个):个): 阿拉伯数字阿拉伯数字(10个个):09 英文大小写字母英文大小写字母(52个个):AZ,az 西文符号西文符号(32个个):如:如!,等等控制符控制符(34个个):如如NUL(空白空白),CR(回车回车),等等7位位ASCII码表示码表示 种不同的字符,包括:种不同的字符,包括:12827333 二进制编码343 二进制编码n常用的常用的ASCII码字符码

26、字符字符字符ASCASC码码(H)(H)ASCASC码码(D)(D)字符字符ASCASC码码(H)(H)ASCASC码码(D)(D)0 09 93030393948485757$ $24243636A AZ Z41415A5A65659090 换行换行LFLF0A0A1010a az z61617A7A 9797122122 回车回车CRCR0D0D1313BlankBlank20203232353 二进制编码nASCII码与码与BCD码的相互转换码的相互转换(1)(1)十进制数的十进制数的ASCIIASCII码码转换成转换成BCDBCD数数 减减30H30H BCDBCD数数转换成十进制数的

27、转换成十进制数的ASCIIASCII码码 加加30H30H(2)(2)将十六进制数的将十六进制数的ASCIIASCII码码转换为转换为十六进制十六进制或或将将十六进制十六进制转换为十六进制数的转换为十六进制数的ASCIIASCII码码,要先,要先判别判别ASCIIASCII码是在哪个区段内,然后再加或减码是在哪个区段内,然后再加或减30H30H或或37H37H。如十六进制如十六进制ASCIIASCII码码31H31H和和41H41H,怎么转换?,怎么转换?363 二进制编码nASCII码与码与BCD码的相互转换码的相互转换(3)(3)十进制数的十进制数的ASCIIASCII码转换为二进制数码转

28、换为二进制数: : 将将ASCIIASCII码转换为码转换为ASCII BCDASCII BCD数数写出写出ASCII ASCII BCDBCD数的十进制数数的十进制数将十进制数转换为二进制数将十进制数转换为二进制数(4)(4)二进制数转换为十进制数的二进制数转换为十进制数的ASCIIASCII码码 过程与过程与(3)(3)相反相反如键盘输入54321,怎么转换?结果:D431374 二进制运算n二进制的算术运算二进制的算术运算一种数制的基本算术运算:一种数制的基本算术运算:加加法和法和减减法。法。利用加法和减法可进行利用加法和减法可进行乘乘法、法、除除法以及法以及其它其它数值运算数值运算38

29、4 二进制运算n二进制的算术运算二进制的算术运算 u二进制加法二进制加法运算法则:运算法则:0+0=00+1=11+1=10(产生了进位产生了进位1)1+1+1=11(产生了进位产生了进位1)394 二进制运算n二进制的算术运算二进制的算术运算u二进制二进制加法加法实例实例1例例1:1101和和1011相加相加 1111 进位进位 1101 被加数被加数+ 1011 加数加数 11000 和和结论:结论:两个二进制数相加时,每一位是两个二进制数相加时,每一位是被加数、加数被加数、加数和低位的和低位的进位进位三个数的相加。三个数的相加。404 二进制运算n二进制的算术运算二进制的算术运算u二进制

30、二进制加法加法实例实例2例例2:10001111B和和10110101B相加相加 10111111 进位进位 10110101 被加数被加数+ 10001111 加数加数 101000100 和和结论:结论:两个二进制数相加时,每一位是两个二进制数相加时,每一位是被加数、加数被加数、加数和低位的和低位的进位进位三个数的相加。三个数的相加。414 二进制运算n二进制的算术运算二进制的算术运算u二进制减法二进制减法运算法则:运算法则:0-0=01-1=01-0=10-1=1(产生了借位产生了借位1)424 二进制运算n二进制的算术运算二进制的算术运算u二进制二进制减法减法实例实例1例例1:1101

31、1B和和1101B相减相减0 1010 1 1 借位后的被减数借位后的被减数1 1 0 1 1 被减数被减数0 1 1 0 1 减数减数 1 1 1 0 差差结论:结论:两个二进制数相减时,每一位是两个二进制数相减时,每一位是被减数、减数被减数、减数和低位的和低位的借位借位三个数的相减。三个数的相减。首先首先求被减数与借位的差,求被减数与借位的差,再再用这个差当作被减数,用这个差当作被减数,从中减去减数。从中减去减数。434 二进制运算n二进制的算术运算二进制的算术运算u二进制二进制减法减法实例实例2例例2:11000100B和和00100101B相减相减 1 0 1 1 1 1 0 1 1

32、0 借位后的被减数借位后的被减数 1 1 0 0 0 1 0 0 被减数被减数 0 0 1 0 0 1 0 1 减数减数 1 0 0 1 1 1 1 1 差差444 二进制运算n二进制的算术运算二进制的算术运算u二进制乘法(边乘、边加的方法)二进制乘法(边乘、边加的方法)运算法则:运算法则:00=011=110=001=0454 二进制运算例例1:1111B和和11011B相乘相乘 1111 被乘数被乘数 1101 乘数乘数 1111 第第1次部分积次部分积 0000 01111 第第2次部分积次部分积 1111 1001011 第第3次部分积次部分积 1111 11000011 第第4次部分

33、积次部分积结论:结论:从乘数的从乘数的低位低位开始,用开始,用乘乘数数的每一位分别的每一位分别去乘去乘被乘数被乘数,所,所得的各得的各中间结果中间结果的最低有效位与的最低有效位与相应的乘数位对相应的乘数位对齐,最后把这些齐,最后把这些中间结果同时中间结果同时相相加加即得到最后乘即得到最后乘积。积。u二进制乘法(边乘、边加的方法)二进制乘法(边乘、边加的方法)464 二进制运算u二进制除法:方法二进制除法:方法1应用乘法规则可实现除法运算,从被除数最高位开应用乘法规则可实现除法运算,从被除数最高位开始,找到足以减去除数的位数得到商始,找到足以减去除数的位数得到商1,再从被除,再从被除数减去除数,

34、依次除下去数减去除数,依次除下去例如:例如:100011B除以除以101B 000111 商商除数除数101)100011 被除数被除数 101 111 余数余数 101 101 余数余数 101 0 余数余数474 二进制运算 u二进制除法:方法二进制除法:方法2余数余数(最初为被除数最初为被除数)左移左移1位,减除数;余数大于等于位,减除数;余数大于等于除数,商为除数,商为1,否则商为,否则商为0.例如:例如:100011B除以除以101B 100011 被除数被除数 商商 100011 被除数左移一位被除数左移一位 101 减去除数,够减商为减去除数,够减商为 1 1111 余数余数 1

35、111 余数左移一位余数左移一位 101 减去除数,够减商为减去除数,够减商为 1 101 余数余数 101 余数左移一位余数左移一位 101 减去除数,够减商为减去除数,够减商为 1 0最高位最高位最低位最低位484 二进制运算n二进制数的逻辑运算二进制数的逻辑运算计算机中,计算机中,0和和1两种取值表示的变量称之为两种取值表示的变量称之为逻辑变量逻辑变量,代表所研究问题的两种状态或可能性。代表所研究问题的两种状态或可能性。3种逻辑运算:种逻辑运算:逻辑加法逻辑加法(或运算或运算)逻辑乘法逻辑乘法(与运算与运算)逻辑否定逻辑否定(非运算非运算)逻辑运算只在对应位之间进行运算逻辑运算只在对应位

36、之间进行运算494 二进制运算n二进制数的逻辑运算二进制数的逻辑运算u与运算与运算运算法则:运算法则:00=011=110=001=0与运算表示与运算表示符号符号:“”或或“”或或“”结论:结论:只有参与运算的逻辑变量都取指为只有参与运算的逻辑变量都取指为1时,其时,其与运算的结果才等于与运算的结果才等于1。504 二进制运算n二进制数的逻辑运算二进制数的逻辑运算u或运算或运算运算法则:运算法则:00=011=110=101=1或运算表示或运算表示符号符号:“+”或或 “”结论:结论:只要参与运算的逻辑变量中有一个为只要参与运算的逻辑变量中有一个为1,其,其或运算的结果就为或运算的结果就为1。

37、514 二进制运算n二进制数的逻辑运算二进制数的逻辑运算 u非运算非运算运算法则:运算法则:0=11=0非运算又称为逻辑否定。逻辑变量非运算又称为逻辑否定。逻辑变量上方加一横线上方加一横线表示。表示。524 二进制运算u异或运算异或运算运算法则:运算法则:0 0=01 1=00 1=11 0=1异或运算表示符号异或运算表示符号 结论:结论:参加运算的两个逻辑变量相参加运算的两个逻辑变量相同时,异或运算的结果等于同时,异或运算的结果等于0,当两,当两个逻辑变量不相同时,异或运算的个逻辑变量不相同时,异或运算的结果为结果为1。n二进制数的逻辑运算二进制数的逻辑运算535 数的定点与浮点表示在计算机

38、中,用二进制表示一个带小数点的数有两在计算机中,用二进制表示一个带小数点的数有两种方法,即种方法,即定点定点表示和表示和浮点浮点表示。表示。相应地,计算机按数的表示方法不同也可以分为定相应地,计算机按数的表示方法不同也可以分为定点计算机和浮点计算机两大类。点计算机和浮点计算机两大类。所谓所谓定点定点表示,就是小数点在数中的位置是表示,就是小数点在数中的位置是固定固定的;的;所谓所谓浮点浮点表示,就是小数点在数中的位置是表示,就是小数点在数中的位置是浮动浮动的。的。545 数的定点与浮点表示定点数:定点数:小数点固定在数的某个位置,即小数点固定在数的某个位置,即阶码是固阶码是固定值定值。计算机中

39、没有专门表示小数点的位,小数点。计算机中没有专门表示小数点的位,小数点的位置是的位置是约定约定的。的。任意一个二进制数可表示为:纯小数或纯整数与一任意一个二进制数可表示为:纯小数或纯整数与一个个2的整数次幂的乘积,即:的整数次幂的乘积,即:S 数数N的的尾数尾数,表示了数,表示了数N的全部有效数字的全部有效数字P 数数N的的阶码阶码,确定了小数点的位置,确定了小数点的位置2 阶码的阶码的底底n定点表示定点表示(Fixed Point Number)S2555 数的定点与浮点表示如假定如假定P=0,且尾数,且尾数S为纯小数时,这时定点数只能表示小数。为纯小数时,这时定点数只能表示小数。定点数的两

40、种表示法,在计算机中均有采用。究竟采定点数的两种表示法,在计算机中均有采用。究竟采用哪种方法,均是事先约定的。如用纯小数进行计算用哪种方法,均是事先约定的。如用纯小数进行计算时,其运算结果要用适当的比例因子来折算成真实值。时,其运算结果要用适当的比例因子来折算成真实值。n定点表示定点表示(Fixed Point Number)如假定如假定P=0,且尾数,且尾数S为纯整数时,这时定点数只能表示整数。为纯整数时,这时定点数只能表示整数。符号尾数符号尾数565 数的定点与浮点表示计算机中,数的正负是用计算机中,数的正负是用0(正正)和和1(负负)来表示。来表示。无符号时,无符号时,000000001

41、1111111,即即0255;有符号时,有符号时,-1111111+1111111,即,即-127+127.n定点表示定点表示(Fixed Point Number)例如:例如:8位二进制数,最左边第位二进制数,最左边第1位表示符号位表示符号(称为符号位称为符号位)。 其余其余7位可用来表示尾数。位可用来表示尾数。定点纯整数表示范围:定点纯整数表示范围:575 数的定点与浮点表示定点纯小数定点纯小数表示范围:表示范围:结论:结论:定点数表示法简单直观,但是数值表示的范定点数表示法简单直观,但是数值表示的范围太小,运算时容易产生溢出。围太小,运算时容易产生溢出。n定点表示定点表示(Fixed P

42、oint Number)nn2120.000001 0.11111n-1个个0N位位585 数的定点与浮点表示浮点数:浮点数:小数点的位置可以变动,即小数点的位置可以变动,即阶码可以取不阶码可以取不同的值同的值。浮点表示法类似于十进制中的科学记数法。浮点表示法类似于十进制中的科学记数法。计算机中表示一个浮点数,要分为计算机中表示一个浮点数,要分为阶码和尾数阶码和尾数两个两个部分来表示。部分来表示。n浮点表示浮点表示(Floating Point Number)阶码阶码P:二进制整数表示,可为正数和负数,二进制整数表示,可为正数和负数,Pf表示阶码符号;表示阶码符号;尾数尾数S:二进制表示,可为

43、正数和负数,二进制表示,可为正数和负数,Sf表示尾数符号。表示尾数符号。S2Pf阶码Sf尾数阶码符号阶码符号尾数符号尾数符号595 数的定点与浮点表示浮点数可以表示成多种形式:浮点数可以表示成多种形式:0.11026=1.1025=0.00011029为了不丢失有效数字,提高运算精度,采用二进制为了不丢失有效数字,提高运算精度,采用二进制浮点规格化数。浮点规格化数。n浮点表示浮点表示(Floating Point Number)浮点规格化:尾数浮点规格化:尾数S的绝对值小于的绝对值小于1而大于或等于而大于或等于1/2,即,即小数点后面的一位必须是小数点后面的一位必须是1。S2pbbbbb21

44、. 0605 数的定点与浮点表示 n浮点表示浮点表示(Floating Point Number)浮点表示和定点表示相比,浮点表示和定点表示相比,多了一个阶码部分。多了一个阶码部分。浮点表示范围(浮点表示范围(m位阶码,位阶码,n位尾数):位尾数):例:二进制数例:二进制数+1011.101,可写成,可写成2+1000.1011101(相相当于十进制数当于十进制数11.625),其浮点数表示为,其浮点数表示为)21 (222)12()12(nnmm阶码最大值阶码最大值阶码最小值阶码最小值616 带符号数的表示方法n机器数与真值机器数与真值机器数:机器数:数据在计算机中连同数码化的符号位一起表示

45、数据在计算机中连同数码化的符号位一起表示的编码数。的编码数。符号数码化:符号数码化:将符号用将符号用“0正正1负负”表示,并以二进制表示,并以二进制数的最高位数的最高位(D7位位)作为符号位。作为符号位。符号位符号位真值:真值:把把机器数实际代表的数机器数实际代表的数称为机器数的真值。称为机器数的真值。626 带符号数的表示方法n机器数的种类和表示方法机器数的种类和表示方法D7作为作为符号位符号位(0正正1负负),D6D0位为原来的位为原来的二进制二进制数值位数值位。例例1:正数正数X=+105的原码表示:的原码表示:u原码原码例例2:负数负数X=-105的原码表示:的原码表示:X原原=1 1

46、101001636 带符号数的表示方法例例3:0的原码表示为:的原码表示为:+0原原=0 0000000-0原原 =1 00000008位二进制,原码表示范围为:位二进制,原码表示范围为:FFH7FH(+127-127)16位原码数的数值范围为:位原码数的数值范围为:FFFFH7FFFH(-3276732767)结论:结论:原码表示简单易懂,与真值的转换很方便。原码表示简单易懂,与真值的转换很方便。但在计算机中进行加法运算时比较麻烦。但在计算机中进行加法运算时比较麻烦。n机器数的种类和表示方法机器数的种类和表示方法u原码原码646 带符号数的表示方法正数的反码:正数的反码:表示与其原码相同,即

47、符号位用表示与其原码相同,即符号位用“0”表表示示正,数字位正,数字位为为数值本身。数值本身。例:例:n机器数的种类和表示方法机器数的种类和表示方法u反码反码656 带符号数的表示方法 负数的反码:负数的反码:将它的将它的正数按位正数按位(包括符号位包括符号位)取反取反形成的。形成的。例:例:n机器数的种类和表示方法机器数的种类和表示方法u反码反码666 带符号数的表示方法l“0”的反码的反码有有两种两种表示法表示法: 00000000表示表示“+0”,11111111表示表示“-0”.l8位二进制反码的位二进制反码的数值范围:数值范围: +(127)D-(127)Dl一个一个带符号数带符号数

48、用反码表示时用反码表示时,最高最高位为位为符号位。符号位。n机器数的种类和表示方法机器数的种类和表示方法u反码总结反码总结676 带符号数的表示方法n机器数的种类和表示方法机器数的种类和表示方法u补码(微机中采用补码表示法)补码(微机中采用补码表示法)同一加法电路即可实现同一加法电路即可实现有有符号数的相加符号数的相加,也可实现也可实现无无符号数的相加符号数的相加,且可通过加法来实现且可通过加法来实现减法减法运算运算简化逻辑运算,提高速度,降低成本简化逻辑运算,提高速度,降低成本686 带符号数的表示方法n机器数的种类和表示方法机器数的种类和表示方法例:例:假设目前正确时间为假设目前正确时间为

49、6点整,有一钟表停在点整,有一钟表停在10点点整,如何校准?整,如何校准?逆时针拨逆时针拨4格,格,即即10-4=6顺时针拨顺时针拨8格,格,到到12点后从点后从0开始重新计时,开始重新计时, 即即10+8=12(自动丢失自动丢失)+6=6模:模:循环计数系统中所表示的最大数循环计数系统中所表示的最大数 (-4)与与(+8)对模对模12互为补数,同余数互为补数,同余数结论:结论:对于某一确定的模对于某一确定的模(12),某数,某数(10)减去绝对值小于模的另一个数减去绝对值小于模的另一个数(4),总可以用某数总可以用某数(10)加上加上“另一数的负数另一数的负数(-4)与其模与其模(12)之和

50、之和(8)”(即补数即补数)来代替。来代替。696 带符号数的表示方法n机器数的种类和表示方法机器数的种类和表示方法例:例:64-10=64+(-10)=64+256-10=64+246 =256+54=54u补码(微机中采用补码表示法)补码(微机中采用补码表示法)字长为字长为8位的二进制数制中,位的二进制数制中,模模为为28=256D 0100 00000000 1010 0011 0110 6410 54 0100 00001111 0110 10011 0110 64 246 54结论:结论: (-10)与与(+246)对模对模256互为补数互为补数,同余数同余数; 246D=1111

51、0110B就是就是(-10)的的补码补码表示表示; 负数负数表示为它的表示为它的补码补码,减法减法转换为转换为加法加法。自动丢失自动丢失706 带符号数的表示方法正数的补码:正数的补码:与其原码相同,即符号位用与其原码相同,即符号位用“0”表示表示正,正,数字位数字位为为数值本身。数值本身。例:例:n机器数的种类和表示方法机器数的种类和表示方法u补码(微机中采用补码表示法)补码(微机中采用补码表示法)716 带符号数的表示方法负数的补码:负数的补码:反码加反码加1,连同符号位,按位取反再加,连同符号位,按位取反再加1。例:例:n机器数的种类和表示方法机器数的种类和表示方法u补码(微机中采用补码

52、表示法)补码(微机中采用补码表示法)726 带符号数的表示方法n机器数的种类和表示方法机器数的种类和表示方法u补码结论补码结论+0补补=-0补补=000000008位补码数范围:位补码数范围:-128+127(80H7FH)16位位补码数的范围:补码数的范围:8000H7FFFH(-3276832767)一个补码数,若一个补码数,若最高位为最高位为0,则该数即,则该数即为此数的绝为此数的绝对值对值;若;若最高位为最高位为1,则其,则其补数补数为该数的为该数的绝对值绝对值最小的负数最小的负数10000000B(-128D)例:例:X补补=10011011B表示一个负数表示一个负数 将将00110

53、11按位取反后,再加按位取反后,再加1,得到,得到1100101 X=-1100101=-101D736 带符号数的表示方法补码数补码数80H和和8000H的最高位既代表了符号为的最高位既代表了符号为负负又代表了数值为又代表了数值为11个二进制补码数的符号位个二进制补码数的符号位向左扩展向左扩展若干位后,所若干位后,所得到的补码数的得到的补码数的真值不变真值不变 如:如:68补补=44H字节,字节, 68补补=0044H字字 -68补补= BCH 字节,字节, -68补补= FFBCH字字微机中,符号数用微机中,符号数用补码补码表示!表示!n机器数的种类和表示方法机器数的种类和表示方法u补码结

54、论补码结论746 带符号数的表示方法 n补码的加法运算补码的加法运算符号位与数字位符号位与数字位一起一起参加运算参加运算,运算运算结果也是补码结果也是补码;X补补+Y补补=(2n+X)+(2n+Y) =2n+(X+Y) =X+Y补补 结论:结论:两数补码之和,等于两数和的补码。两数补码之和,等于两数和的补码。n补码的运算补码的运算756 带符号数的表示方法n补码的加法运算补码的加法运算n补码的运算补码的运算解:解:X补补=01000000, Y补补=00001000例例1:X=+1000000,Y=+0001000,求两数的补码之和。,求两数的补码之和。 X补补=0100 0000) Y补补=

55、0000 1000 X补补+ Y补补=0100 1000 64+) +8 72结论:结论:两数两数和为正和为正,正数的补码等于原码,即正数的补码等于原码,即: X补补+ Y补补=X+Y原原=01001000,真值为真值为+72。 766 带符号数的表示方法n补码的加法运算补码的加法运算n补码的运算补码的运算 解:解:X补补=0 0000111 , Y补补=1 1101101例例2:X=+0000111,Y=-0010011,求两数的补码之和。,求两数的补码之和。 X补补=0000 0111) Y补补=1110 1101 X补补+ Y补补=1111 0100 +7+) -19 -12结论:结论:

56、两数两数和为负和为负,将负数的补码还原为原码,即将负数的补码还原为原码,即: X+Y原原=(X+Y)补补补补=10001100,真值为,真值为-12。 776 带符号数的表示方法解:解:X补补=1 1100111 , Y补补=1 1111010例例2:X=-0011001,Y=-0000110,求两数的补码之和。,求两数的补码之和。 X补补= 1110 0111) Y补补= 1111 1010 X补补+ Y补补=1 1110 0001 -25+) -6 -31结论:结论:两数两数和为负和为负,将负数的补码还原为原码,即将负数的补码还原为原码,即: X+Y原原=(X+Y)补补补补=1001111

57、1,真值为真值为-31。 自动丢失n补码的加法运算补码的加法运算n补码的运算补码的运算786 带符号数的表示方法 n补码的减法运算补码的减法运算两数补码之差,等于两数差的补码。两数补码之差,等于两数差的补码。X补补+Y补补= X补补+-Y补补 = (2n+X)+2n+(-Y) =2n+(X-Y) =X-Y补补 结论:结论:两数补码之差,等于两数差的补码。两数补码之差,等于两数差的补码。n补码的运算补码的运算796 带符号数的表示方法解:解:X补补=0 1000000 , -Y补补=1 1111000例例1:X=+1000000,Y=+0001000,求两数的补码之差。,求两数的补码之差。 X补

58、补= 0100 0000) -Y补补= 1111 1000 X补补+ -Y补补=1 0011 1000 +64-) +8 +56结论:结论:两数两数差为正差为正,正数的补码等于原码正数的补码等于原码,即即: X-Y补补=X-Y原原=00111000,真值为真值为+56。 自动丢失n补码的减法运算补码的减法运算n补码的运算补码的运算806 带符号数的表示方法解:解:X补补=0 0000111 , -Y补补=0 0010011例例2:X=+0000111,Y=-0010011,求两数的补码之差。,求两数的补码之差。 X补补= 0000 0111) -Y补补= 0001 0011 X补补+ -Y补补

59、= 0001 1010 +7-) -19 +26结论:结论:两数两数差为正差为正,正数的补码为原码正数的补码为原码,即即: X-Y原原= X-Y补补=00011010,真值为真值为+26。 n补码的减法运算补码的减法运算n补码的运算补码的运算816 带符号数的表示方法 解:解:X补补=1 1100111 , -Y补补=0 0000110例例3:X=-0011001,Y=-0000110,求两数的补码之差。,求两数的补码之差。 X补补= 1110 0111) -Y补补= 0000 0110 X补补+ -Y补补= 1110 1101 -25-) -6 -19结论:结论:两数两数差为负差为负,将负数

60、的补码还原为原码将负数的补码还原为原码,即即: X-Y原原= (X-Y)补补补补=10010011,真值为真值为-19。 n补码的减法运算补码的减法运算n补码的运算补码的运算826 带符号数的表示方法n补码的运算补码的运算带符号数字长为带符号数字长为n,最高位表示符号,其余,最高位表示符号,其余n-1位表示数位表示数值,值,补码运算范围补码运算范围为为-2n-1+2n-1-1,如运算结果超出此范如运算结果超出此范围,称补码溢出围,称补码溢出(简称溢出简称溢出)。溢出时,将造成运算错误。溢出时,将造成运算错误。溢出:指带符号数的补码运算溢出。溢出:指带符号数的补码运算溢出。字长字长n=8,二进制

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论