微机原理——第1章02_第1页
微机原理——第1章02_第2页
微机原理——第1章02_第3页
微机原理——第1章02_第4页
微机原理——第1章02_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、思考题思考题: : (1)(1)计算机中常用的数制有哪些?计算机中常用的数制有哪些? (2) (2) 在计数或加法运算过程中,这些数制的进位规则在计数或加法运算过程中,这些数制的进位规则 (3)(3)在减法运算过程中,这些数制的借位规则是?在减法运算过程中,这些数制的借位规则是? (4)(4) 为什么要采用二进制数?为什么要采用二进制数? 1.3.3 数制转换数制转换 1. 非十进制数转换成十进制数非十进制数转换成十进制数 (1 1) 二进制数二进制数 10011.11B=110011.11B=12 24 40 02 23 30 02 22 21 12 21 1 1 12 20 01 12 2

2、-1 -11 12 2-2-2=19.75=19.75(2 2) 八进制数八进制数 7345.6Q=77345.6Q=78 83 33 38 82 24 48 81 15 58 80 0 6 68 8-1 -1=3813.75=3813.75(3 3) 十六进制十六进制 4AC6H=44AC6H=416163 3101016162 2121216161 1 6 616160 0 =19142 =19142(2 2)二进制、八进制和十六进制数之间转换)二进制、八进制和十六进制数之间转换一位八进制数相当于三位二进制教;一位八进制数相当于三位二进制教; 一位十六进制数相当于四位二进制数。一位十六进制

3、数相当于四位二进制数。例例1-2 1-2 二进制转换成八进制和十六进制数二进制转换成八进制和十六进制数 1101100101100011B=154543Q= D963H1101100101100011B=154543Q= D963H(3 3)十进制数转换为二进制数)十进制数转换为二进制数当十进制数转换为二进制数时,须将整数部分和小数部当十进制数转换为二进制数时,须将整数部分和小数部分分开分分开: : 整数常采用整数常采用“除除2 2取余法取余法; ; 小数则采用小数则采用“乘乘2 2取整法取整法”。十进制整数转换为二进制整数十进制整数转换为二进制整数转换方法是转换方法是除除2 2取余取余,直到

4、商等于零为止,直到商等于零为止,逆序逆序排列余排列余数即可。数即可。 对数值比较大的十进制数进行转换时,可采用先将十进对数值比较大的十进制数进行转换时,可采用先将十进制整数转换为十六进制整数,然后再将十六进制整数转换为制整数转换为十六进制整数,然后再将十六进制整数转换为二进制整数。二进制整数。( (why?why?有简单的方法吗?有简单的方法吗?) ) 十进制整数转换为十六进制整数的方法是十进制整数转换为十六进制整数的方法是除除1616取余取余,直,直到商等于零为止,逆序排列余数。到商等于零为止,逆序排列余数。 十进制小数转换为二进制小数十进制小数转换为二进制小数注意:注意: (1)二进制转换

5、成八进制、十六进制数时,)二进制转换成八进制、十六进制数时,每三位、四位为一组,不足时必须用每三位、四位为一组,不足时必须用0补足,特补足,特别是小数部分;别是小数部分; (2)八进制、十六进制数转换成二进制数时,)八进制、十六进制数转换成二进制数时,每一位必须转换成三位、四位二进制数,除了整每一位必须转换成三位、四位二进制数,除了整数的最高位、小数最低位外,其余的数的最高位、小数最低位外,其余的0都不可省都不可省略。略。1、原码、原码/机器数机器数1.3.5 带符号的二进制数的三种表示方法带符号的二进制数的三种表示方法例例1-5 设机器字长为设机器字长为n=8时,试求时,试求+0、+6、+1

6、27、-0、-6、-127 的原码的原码解:解: +0原原=00000000 -0原原=10000000 +6原原=00000110 -6原原=10000110 +127原原=01111111 -127原原=11111111正数:正数:原码与相应的二进制数完全相同;原码与相应的二进制数完全相同;负数:负数:二进制数的最高位一定是二进制数的最高位一定是“1”,其余各位是该,其余各位是该数的绝对值。数的绝对值。零:零:有正零和负零之分。有正零和负零之分。原码表示法最大优点:简单直观,但不便于加减运算原码表示法最大优点:简单直观,但不便于加减运算,why?2、反码、反码3 3、补码、补码减法运算变成

7、了加法运算:减法运算变成了加法运算:3+10=1 3+10=1 (时针经过(时针经过1212点时自动丢失一个数点时自动丢失一个数1212)相当于相当于 3-2=3+(-2)=13-2=3+(-2)=11010与与-2-2有什么关系?有什么关系?自动丢失的一个数自动丢失的一个数1212是什么?是什么?数学上把数学上把1212这个数叫做这个数叫做“模模”1010是(是(2 2)对模)对模1212的补码的补码在模在模1212的条件下,负数就可以转化为正数,而正负数相加也的条件下,负数就可以转化为正数,而正负数相加也就可以转化为正数间的相加。就可以转化为正数间的相加。补码的概念:补码的概念: 显然,正

8、数的补码与相应的原码完全相同,显然,正数的补码与相应的原码完全相同,负数的补负数的补码只需把相应的绝对值码只需把相应的绝对值按位求反按位求反并在并在末位加末位加1 1即可即可。 如果从负数的原码求补码,保留原码的符号位不变,如果从负数的原码求补码,保留原码的符号位不变,其余各位按位求反并在末位加其余各位按位求反并在末位加1 1。 一般来说,不需要用补码的定义来求补码。一般来说,不需要用补码的定义来求补码。4 4、补码运算、补码运算 在计算机中带符号的二进制数通常采用补码形在计算机中带符号的二进制数通常采用补码形式表示。式表示。 补码有两个主要特点:补码有两个主要特点: (1 1)可以使符号位与

9、数一起参加运算;)可以使符号位与数一起参加运算; (2 2)将两数相减变为减数变补后再与被减数相加)将两数相减变为减数变补后再与被减数相加来实现。来实现。 加法规则:加法规则: X+YX+Y补补=X=X补补YY补补减法规则:减法规则: X-YX-Y补补=X=X补补-Y-Y补补 例例1-9 X=64-12=52 1-9 X=64-12=52 (字长为(字长为8 8位)位) XX补补=64=64补补十十-12-12补补 6464补补=01000000B -12=01000000B -12补补=11110100B=11110100B 01 00000001 000000 1 1 1 1 01001

10、1 1 1 0100 1 00 1 1 0100 1 00 1 1 0100 自然丢失自然丢失 由于字长为由于字长为8 8位,最高有效位的进位自然丢失。其位,最高有效位的进位自然丢失。其结果为(结果为(5252)1010的补码的补码计算机中为什么采用补码进行加、减运算?计算机中为什么采用补码进行加、减运算?例例l-10 X=34-98 = -64 l-10 X=34-98 = -64 (字长为(字长为8 8位)位) X X补补=34=34补补+-98+-98补补 3434补补=00100010B =00100010B -98 -98补补=10011110B=10011110B 00 1 000

11、10 00 1 00010 1 00 1 1 1101 00 1 1 110 1 1 0 00000 1 1 0 00000 和的最高位是和的最高位是1 1,表示结果为负数,其结果为(,表示结果为负数,其结果为(-64-64)1010的补码。的补码。 从上述例子可以看到,计算机中加、减运算采用补码,从上述例子可以看到,计算机中加、减运算采用补码,不仅十分简便,而且不用判断正、负号,符号位一起参见不仅十分简便,而且不用判断正、负号,符号位一起参见运算,自动得到正确的补码结果。运算,自动得到正确的补码结果。思考题:思考题:计算机中为什么采用补码进行加、减运算?计算机中为什么采用补码进行加、减运算?

12、 当两个带符号位的二进制数进行补码运算时,其结果一旦超当两个带符号位的二进制数进行补码运算时,其结果一旦超出运算装置所能表示的范围就会产生溢出,引起计算出错!出运算装置所能表示的范围就会产生溢出,引起计算出错! 微型机中常用的溢出判别法:双高位判别法微型机中常用的溢出判别法:双高位判别法 C Cs s:如最高位(符号位)有进位,:如最高位(符号位)有进位,C CS S=1=1,否则,否则,C CS S=0=0。 C CP P:如次高位有进位,:如次高位有进位,C CP P=1=1,否则,否则,C CP P=0=0。 判别法则:判别法则: 无溢出:若最高位进位无溢出:若最高位进位C Cs s 和

13、次高位进位和次高位进位C Cp p相同相同同为同为0 0或同为或同为1 1 有溢出:有溢出: C Cs s 和和C Cp p相异。当相异。当C CS S C Cp p=1=1时,表示有溢出产生,时,表示有溢出产生,否则无溢出产生否则无溢出产生 正溢出:正溢出: C CS S=0=0,C CP P=1=1 负溢出:负溢出: C CS S=1=1, C CP P=0=05 5、溢出判别、溢出判别 例例1.11 1.11 试判别下列二进制补码运算溢出的情况试判别下列二进制补码运算溢出的情况(字长为(字长为8 8位)位) (1 1) 92+105 92+105 (2 2) (-115-115)+ +(

14、-87-87) (3 3) 35+55 35+55 (4 4) (-15-15)+ +(-67-67) (1 1)解:)解: 0 1 0 1 1 1 0 0 92 0 1 0 1 1 1 0 0 92 0 1 1 0 1 0 0 1 1050 1 1 0 1 0 0 1 105 0 1 1 0 0 0 1 0 1 -59 0 1 1 0 0 0 1 0 1 -59(结果为负数)(结果为负数) C CS S=0 C=0 CP P=1 =1 正溢出,结果出错正溢出,结果出错 可见上述两个正数相加,运算结果的数值部分有进位,可见上述两个正数相加,运算结果的数值部分有进位,即即C CP P1 1,而符

15、号位无进位,即,而符号位无进位,即C CS S=0=0。按上述判别方法可。按上述判别方法可得,这种溢出为得,这种溢出为“正溢出正溢出”。(2 2)解:)解: 1 0 0 0 1 1 0 1 -1151 0 0 0 1 1 0 1 -115补补 1 0 1 0 1 0 0 1 -871 0 1 0 1 0 0 1 -87补补 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 1 0 5454 C CS S=1 C=1 CP P=0 =0 负溢出,结果出错负溢出,结果出错 可见上述两个负数相加,运算结果的数值部分无进位,可见上述两个负数相加,运算结果的数值部分无进位,即即C CP P

16、0 0,而符号位有进位,即,而符号位有进位,即C CS S=1=1。按上述判别方法可。按上述判别方法可得,这种溢出为得,这种溢出为“负溢出负溢出”。(3)解: 0 0 1 0 0 0 1 1 35 0 0 1 1 0 1 1 1 55 0 1 0 1 1 0 1 0 90 C CS S=0 C=0 CP P=0 =0 无溢出无溢出 可见两个正数相加,若和小于可见两个正数相加,若和小于2 2n-1n-1时,必有时,必有C CS S=0=0,C CP P=0=0,则无溢出发生。,则无溢出发生。(4)解: 1 1 1 1 0 0 0 1 -15补 1 0 1 1 1 1 0 1 -67补 1 1 0

17、 1 0 1 1 1 0 -82 (结果求补) CS=1 CP=1 可见两个正数相加,若和的绝对值小于2n-1时,必有CS=1,CP=1,则无溢出发生。 一个正数和一个负数相加,和肯定不溢出。此时,若和为正数,则CS=1,CP=1; 若和为负数,则CS=0,CP=0。请读者自己验证。1.3 .6 1.3 .6 定点数和浮点数定点数和浮点数计算机中小数点的表示法有两种:定点表示法和浮点表示法。计算机中小数点的表示法有两种:定点表示法和浮点表示法。1 1、定点表示法、定点表示法小数点在数中的位置是固定不变的,通常有两种,即定小数点在数中的位置是固定不变的,通常有两种,即定点整数和定点小数。点整数和

18、定点小数。2 2、 浮点表示法浮点表示法将二进制数将二进制数NN表示成如下形式:表示成如下形式:N=N=S S2 2J J该表达式在计算机中表示为:该表达式在计算机中表示为:S S: 称作尾数,表示全部的有效数字,一般以纯小数表示;称作尾数,表示全部的有效数字,一般以纯小数表示; S Sf f: 尾符,即浮点数的符号尾符,即浮点数的符号:0:0代表正数代表正数,1 ,1代表负数代表负数 J J: 阶码,它与阶符一起来决定小数点的实际位置阶码,它与阶符一起来决定小数点的实际位置, ,为整数;为整数; J Jf f 阶符,即阶数符号阶符,即阶数符号, 0, 0代表阶码为正数代表阶码为正数,1 ,1

19、代表阶码为负数;代表阶码为负数; 一个二进制带小数的数可以写成多种等价形式:一个二进制带小数的数可以写成多种等价形式: 例如:例如:101110.0011=1.0111000112+5 =0.10111000112+6 =0.010111000112+7 =10111000112-4 写成一般形式:写成一般形式: S 2 这种用阶码(这种用阶码(J)和尾数()和尾数(S)两部分共同表示一)两部分共同表示一个数的表示方法称为个数的表示方法称为数的浮点表示法数的浮点表示法。 阶码表示了小数点的实际位置。例如:阶码表示了小数点的实际位置。例如: 阶码表示阶码表示了小数点的实际位置。例如:了小数点的实

20、际位置。例如: 0.010110101012+7=101101.0101 阶码为阶码为+7,表示把尾数的小数点向右移动,表示把尾数的小数点向右移动7位位例例1-12 1-12 若用一个若用一个1616位二进制表示浮点数,其中阶符尾符各占一位二进制表示浮点数,其中阶符尾符各占一 位,阶数占位,阶数占5 5位,尾数占位,尾数占9 9位,试写出位,试写出10110.101B10110.101B的具体的具体格式。格式。解:设尾数以纯小数表示,则解:设尾数以纯小数表示,则 10110.101B = 0.1011010110110.101B = 0.10110101可得可得 S = 101101010S

21、= 101101010 S Sf f=0=0 J=00101 J=00101 J Jf f=0=0在计算机中的表示形式为:在计算机中的表示形式为:浮点数应用中必须注意两个问题:浮点数应用中必须注意两个问题: 浮点数的规格化浮点数的规格化 规格化的浮点数可以保留最多的有效数字。浮点数规格表示结规格化的浮点数可以保留最多的有效数字。浮点数规格表示结果如下:果如下:对浮点二进制正数,其尾数数字部分的最高位必须是对浮点二进制正数,其尾数数字部分的最高位必须是1 1。对浮点二进制负数,其尾数数字部分的最高位必须是对浮点二进制负数,其尾数数字部分的最高位必须是0 0。 浮点数的对价原则浮点数的对价原则 在

22、运用浮点数进行加减时,两数的阶码必须取得一致,否则不在运用浮点数进行加减时,两数的阶码必须取得一致,否则不能进行加减运算,对阶原则如下:能进行加减运算,对阶原则如下:1 1)以大的阶码为准对阶。)以大的阶码为准对阶。2 2)对阶后数的大小不变(在精度允许范围内),对阶规则是:)对阶后数的大小不变(在精度允许范围内),对阶规则是:阶码每减少阶码每减少1 1,尾数向左移一位,阶码每增加,尾数向左移一位,阶码每增加1 1,尾数向右移一,尾数向右移一位。位。思考题:思考题:定点与浮点表示法各有哪些优缺点?定点与浮点表示法各有哪些优缺点?1.3.7 BCD1.3.7 BCD码码信息编码:十进制数的二进制

23、编码、字符信息的信息编码:十进制数的二进制编码、字符信息的编码和汉字编码。编码和汉字编码。1 1、十进制数的二进制编码、十进制数的二进制编码由四位二进制数来表示一位十进制数由四位二进制数来表示一位十进制数, ,称作称作BCDBCD码码 。常用的常用的 BCDBCD码有:码有:1 1) 84218421码:码:四位二进制数的权分别为四位二进制数的权分别为8 8、4 4、2 2、1 1的的BCDBCD如:如:324.6 324.6 对应的对应的8421BCD8421BCD码是码是 0011 0010 0100. 01100011 0010 0100. 0110 2 2) 24212421码(了解)

24、码(了解) 3 3)余)余 3 3码(码( 了解)了解)2 2、字符信息的编码(了解)、字符信息的编码(了解)字母、数字和符号等各种字符按特定的规则用二进制编码字母、数字和符号等各种字符按特定的规则用二进制编码才能在计算机中表示。才能在计算机中表示。在微型机中表示字符的常用码制是在微型机中表示字符的常用码制是ASCIIASCII码,它是美国信码,它是美国信息交换标准码。息交换标准码。它能用它能用6 6位、位、7 7位或位或8 8位二进制数对字符编码。位二进制数对字符编码。7 7位位ASCIIASCII码可表示码可表示128128种字符,它包括种字符,它包括5252个大、小写字个大、小写字母、母、0 09 9十个数字和控制符号,在计算机中用一个字节来表示十个数字和控制符号,在计算机中用一个字节来表示一个一个ASCIIASCII码字符,最高位置为码字符,最高位置为0 0。8 8位位ASCIIASCII码是在码是在7 7位位ASCIIASCII码基础上加一个奇偶校验位而码基础上加一个奇偶校验位而构成。构成。奇偶校验码,是对每一组二进制编码配置一个二进制位奇偶校验码,是对每一组二进制编码配置一个二

温馨提示

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

评论

0/150

提交评论