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

下载本文档

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

文档简介

1、第二节第二节 计算机中数的表示和编码计算机中数的表示和编码 内容:内容: 一、进位计数制及其表示方法一、进位计数制及其表示方法 二、数制之间的转换二、数制之间的转换 三三、字和各种字符的编码字和各种字符的编码 四、小结四、小结一、进位计数制及其表示方法一、进位计数制及其表示方法(一)(一) 进位计数制及其要素:进位计数制及其要素: 进位计数制:按进位原则进行计数的方法。进位计数制:按进位原则进行计数的方法。 例:十进制数有例:十进制数有 : 0、1、2、3、4、5、6、7、8、9 十种状态。十种状态。 我们说:我们说:十进制数基数十进制数基数10,变化范围,变化范围0 (10-1), 逢十进一

2、。逢十进一。 看一个十进制数:看一个十进制数: 4 0 9 4 每一位十种数码的状态(每一位十种数码的状态(09) 千千 百百 十十 个个 本位绝对值的大小数本位绝对值的大小数位权位权位权位权103102101100 如:千位如:千位= 4103=4000十进制数有二个要素:十进制数有二个要素: 1. 基数:十基数:十 每一位每一位 0、1、2、3、4、5、6、7、8、10-1 (逢(逢 十十 进进 一)。一)。 2. 位权:位权:10i 某一位数绝对值大小某一位数绝对值大小 = 数数位权位权. 二个要素适用于二、八、十六进制。二个要素适用于二、八、十六进制。 二进制数:二进制数: 基数基数2

3、 位权位权2i 八进制数:八进制数: 基数基数8 位权位权8i 十六进制数十六进制数: 基数基数16 位权位权16i (二)(二) 进位计数制的表示方法:进位计数制的表示方法: 1234. 56 = 1 103 + 2 102 + 3 101 + 4 100 + 5 10-1 + 6 10-2推广到一般形式(任意十进制)推广到一般形式(任意十进制): N= k n 10n k n-1 10 n-1 k0 100 k-1 10-1 k-m 10-m = k i 10i (i= -mn)其中,任何某一位数大小其中,任何某一位数大小 = k i 10i对于任意进制对于任意进制: N= k i R i

4、(i=-mn)R 基数基数 , 逢逢R进一进一. Ri 位权位权例如:二进制数例如:二进制数 B=10011101 B=1 27+1 24+1 23+1 22+1 20 =(157)10 在计算机里进行运算和处理均是按在计算机里进行运算和处理均是按二进制数二进制数处理的。处理的。 而二进制数写起来麻烦而二进制数写起来麻烦; 平时,书写时习惯以平时,书写时习惯以 八进制八进制 或或 十六进制十六进制 表示;表示; 日常生活中又常用日常生活中又常用十进制十进制, 因此就有:因此就有:二二 十十 八八 十十 二二 八八 数制之间的转换问题数制之间的转换问题 十六十六 十十 二二 十六十六二、二、 数

5、制之间的转换数制之间的转换(一)(一) 十进制十进制 二进制二进制 1、整数、整数 十进制十进制 二进制二进制 (除(除2取余法,降幂法)取余法,降幂法) (1 1)除)除2 2取余法取余法 (217)10=k n 2n+ k n-1 2 n-1+ k1 21 +k0 20 = 2(k n 2 n-1+k n-1 2 n-2+k1 20)+k0 2(k n 2 n-1+k n-1 2 n-2+k 1 20) 是是2的倍数的倍数, k0 是余数。是余数。(217)102 -得到余数得到余数 k0 /2 整数整数 商商 余数:余数: 按照相反的方向写下来。按照相反的方向写下来。 /2 /2 /2

6、/2 /2 /2 /2 /2217 108 54 27 13 6 3 1 0 -商商 1 0 0 1 1 0 1 1 余数余数(217)10=(11011001)2书写方向书写方向结论:整数除结论:整数除2取余,直到商为取余,直到商为0为止,为止, 读数由后向前。适用于数值比较小的情况。读数由后向前。适用于数值比较小的情况。 /2 /2 /2 /2 /2 /2 /2 /2 217 108 54 27 13 6 3 1 0 -商商 1 0 0 1 1 0 1 1 余数余数 (217) 10 (11011001)2(2 2)降幂法)降幂法: : 计算(计算(217)10=(1101 1001)2

7、权值:权值: 210 29 28 27 26 25 24 23 22 21 20 1024 512 256 128 64 32 16 8 4 2 1 217-271=89a7=1 , 9 - 23=1 a3=1 89-261=25a6=1 , a2=0 25- 250=25 a5=0 , a1=0 25- 241=9a4=1 , 1 - 20=0 a0=1 方法:对十进制数逐次乘方法:对十进制数逐次乘2, 小数点前边系数为系数小数点前边系数为系数k i。 即乘即乘2取整法,位数取决于要求精度。取整法,位数取决于要求精度。如:如: (0.613)10 2=1.226 k-1=1 (0.226)1

8、0 2=0.452 k-2=0 (0.452)10 2=0.904 k-3=0 (0.904)10 2=1.808 k-4=1 (0. 1001)2 =(0. 5625)10 (0.808)10 2=1.616 k-5=1 (0.10011)2=(0. 609375)10 (0.616)10 2=1.232 k-6=1 (0.613)10=(0.1001)2 k-7=0 3. 二二十十 同样可以用公式进行同样可以用公式进行(0. 1001)2 = 1 2-1+1 2-4=0. 5+0. 0625=(0. 5625)10(0.10011)2 = 1 2-1+1 2-4+1 2-5+1 2-6 =

9、(0. 609375)10 下面下面看一下常用的几种数制写法:八位二进制数看一下常用的几种数制写法:八位二进制数 十进制十进制 二进制二进制 八进制八进制 十六进制十六进制 BCD 0 0 0 0 01 01 1 1 12 10 2 2 103 11 3 3 114 100 4 4 1005 101 5 5 1016 110 6 6 1107 111 7 7 1118 1000 10 8 10009 1001 11 9 100110 1010 12 A 1000011 1011 13 B 1000112 1100 14 C 1001013 1101 15 D 1001114 1110 16 E

10、 1010015 1111 17 F 1010116 10000 20 10 10110。 。 。 11 。 。 。 12 。 。 。 。 。 (255)D 11111111B 377Q FFH (10,0101,0101)BCD(二)二(二)二 八,二八,二 十六,二十六,二 BCD之间转换之间转换 1、二二 八八 二二 八:八: 以小数点为界向左向右三位一段,不够补以小数点为界向左向右三位一段,不够补0, 三位二进制数用一位八进制数表示。三位二进制数用一位八进制数表示。例:(例:( 1,101,001 010,011,1 )2 不够补不够补0 不够补不够补0 (001 101 001 01

11、0 011 100)2=(151234)8 八八二:二: 一位八进制数用三位二进制数表示一位八进制数用三位二进制数表示. (151234)8 =(001 101 001. 010 011 100)22、二、二 十六十六 二二十六:十六: 以小数点为界向左向右四位一段,以小数点为界向左向右四位一段, 不够补不够补0, 四位二进制数用一位十六进制数表示。四位二进制数用一位十六进制数表示。例:(例:( 110 1001.0100 111 )2 ( 69.4E )16 不够补不够补0 不够补不够补0 (0 1 1 0, 1 0 0 10 1 0 0, 1 1 1 0)2 =(694E)16 8 4 2

12、 1 码码 ! ! ! 十六十六二:二:一位十六进制数用四位二进制数表示。一位十六进制数用四位二进制数表示。例:例: (694E)16 = (0 1 1 0, 1 0 0 10 1 0 0, 1 1 1 0)2 3、 二二 BCDBCD数:通常称为数:通常称为8421码,每一位码,每一位十进制数十进制数用用四四 位二进制编码表示。位二进制编码表示。 1001 B 9 D 1001 BCD 1010 B 10 D 0001 0000 BCDBCD码与二进制数之间转换没有直接关系,码与二进制数之间转换没有直接关系,必须先转换成十进制必须先转换成十进制,然后转换成二进制。然后转换成二进制。 例:例:

13、1111111B = 255D = 0010,0101,0101 BCD 0010,0101,0101 BCD255 D=1111 1111 B三非数值数据的表示三非数值数据的表示 现代计算机不仅处理数值领域的问题,而且处理大量非数现代计算机不仅处理数值领域的问题,而且处理大量非数值领域的问题。这样一来,必然要引入文字、字母以及某些专值领域的问题。这样一来,必然要引入文字、字母以及某些专用符号,以便表示文字语言、逻辑语言等信息。用符号,以便表示文字语言、逻辑语言等信息。目前国际上普遍采用的字符系统是七单位的目前国际上普遍采用的字符系统是七单位的ASCII码(美码(美国国家信息交换标准字符码),

14、它包括国国家信息交换标准字符码),它包括10个十进制数码,个十进制数码,26个个英文字母和一定数量的专用符号,如英文字母和一定数量的专用符号,如 $、%、 等,等, 共共128个元素,因此二进制编码需个元素,因此二进制编码需7位位,加一位偶校验位,共加一位偶校验位,共8位一位一个字节。个字节。字符的编码(字符的编码( ASC编码)编码) 字和各种字符字和各种字符按照按照特定规则特定规则用二进制编码在机器用二进制编码在机器中表示。编码有各种方式:中表示。编码有各种方式: 目前规定在微型机中最普遍采用目前规定在微型机中最普遍采用ASC码码(American Standard Code for In

15、formation Interchange ) 美国标准信息交换码。美国标准信息交换码。 参看参看 ASC码表。码表。 (一)二进制数的运算(一)二进制数的运算 (二)带符号数的表示(二)带符号数的表示ASC码码: 采用七位二进制编码采用七位二进制编码,可以表示,可以表示128个字符。个字符。 bit7作奇偶校验位,在机器中表示时,常认为作奇偶校验位,在机器中表示时,常认为“0”, 用一个字长(用一个字长(8位)表示一个位)表示一个ASC字符。字符。 09 的的ASC码为:码为:30H39H AZ 的的ASC码为:码为:41H5AH az 的的ASC码为:码为:61H7AH 汉字的表示及其输入

16、编码汉字的表示及其输入编码 为了能直接使用西文标准键盘把汉字输入到计算机,就必为了能直接使用西文标准键盘把汉字输入到计算机,就必须为汉字设计相应的输入编码方法。当前采用的方法主要有以须为汉字设计相应的输入编码方法。当前采用的方法主要有以下三类下三类: : 数字编码数字编码 常用的是国标区位码常用的是国标区位码, ,用数字串代表一个汉字输用数字串代表一个汉字输入。区位码是将国家标准局公布的入。区位码是将国家标准局公布的67636763个两级汉字分为个两级汉字分为9494个区个区, ,每个区分每个区分9494位位, ,实际上把汉字表示成二维数组实际上把汉字表示成二维数组, ,每个汉字在数组每个汉字

17、在数组中的下标就是区位码。区码和位码各两位十进制数字,因此输中的下标就是区位码。区码和位码各两位十进制数字,因此输入一个汉字需按键四次。入一个汉字需按键四次。数字编码输入的优点是无重码,且输入码与内部编码的转数字编码输入的优点是无重码,且输入码与内部编码的转换比较方便换比较方便, ,缺点是代码难以记忆。缺点是代码难以记忆。 拼拼 音音 码码 拼音码是以汉字拼音为基础的输入方法。使用拼音码是以汉字拼音为基础的输入方法。使用简单方便,但汉字同音字太多,输入重码率很高,同音字选择简单方便,但汉字同音字太多,输入重码率很高,同音字选择影响了输入速度。影响了输入速度。 字形编码字形编码 字形编码是用汉字

18、的形状来进行的编码。把汉字形编码是用汉字的形状来进行的编码。把汉字的笔划部件用字母或数字进行编码,按笔划的顺序依次输入字的笔划部件用字母或数字进行编码,按笔划的顺序依次输入, ,就能表示一个汉字。就能表示一个汉字。 汉字内码汉字内码汉字内码汉字内码是用于汉字信息的存储、交换、检索等操作的机是用于汉字信息的存储、交换、检索等操作的机内代码,一般采用两个字节表示。英文字符的机内代码是七位内代码,一般采用两个字节表示。英文字符的机内代码是七位的的 ASCII码,当用一个字节表示时码,当用一个字节表示时,最高位为最高位为“0”。为了与英文。为了与英文字符能相互区别,汉字机内代码中两个字节的最高位均规定

19、为字符能相互区别,汉字机内代码中两个字节的最高位均规定为“1”。注意:有些系统中字节的最高位用于奇偶校验位,这种情注意:有些系统中字节的最高位用于奇偶校验位,这种情况下用三个字节表示汉字内码。况下用三个字节表示汉字内码。 汉字的输出与汉字字库汉字的输出与汉字字库汉字字模码汉字字模码是用点阵表示的汉字字形代码是用点阵表示的汉字字形代码,它是汉字的输出形式。它是汉字的输出形式。 根据汉字输出的要求不根据汉字输出的要求不同,点阵的多少也不同。字同,点阵的多少也不同。字模点阵的信息量很大模点阵的信息量很大,所占所占存储空间也很大。因此字模存储空间也很大。因此字模点阵只能用来构成点阵只能用来构成汉字库汉

20、字库,而不能用于机内存储。字库而不能用于机内存储。字库中存储了每个汉字的点阵代中存储了每个汉字的点阵代码。当显示输出或打印输出码。当显示输出或打印输出时才检索字库,输出字模点时才检索字库,输出字模点阵,得到字形。阵,得到字形。汉字的字模点阵及编码汉字的字模点阵及编码0 注意注意,汉字的,汉字的输入编码输入编码、汉字内码汉字内码、字模码字模码是计算机中分是计算机中分别用于输入、内部处理、输出三种不同的用途。别用于输入、内部处理、输出三种不同的用途。 (一)二进制数的运算(自学)(一)二进制数的运算(自学)(二)带符号数的表示(二)带符号数的表示 1. 机器数与真值机器数与真值 2. 原码原码 3

21、. 反码反码 4. 补码补码 1. 真值与机器数:真值与机器数: 上面提到的是一种无符号数,机器数中会有正有负。上面提到的是一种无符号数,机器数中会有正有负。符号怎么表示呢?符号怎么表示呢?通常数的最高位为符号位,对于字长通常数的最高位为符号位,对于字长8位机器数:位机器数: D7为符号位为符号位: 0表示表示“+”,1表示表示“”。符号数码化了符号数码化了! D6D0为数字位。为数字位。如如: X=(01011011)2 =+91 X=(11011011)2 = - 91连同符号位在一起作为一个数称为机器数,连同符号位在一起作为一个数称为机器数,机器数的数值称为的真值。机器数的数值称为的真值

22、。如如: N1 = + 1011011 N2 = - 1011011 为为真值真值0 1011011 1 101 1011 为为机器数机器数 符号数码化了符号数码化了,对数据进行运算时,对数据进行运算时,符号位应如何符号位应如何处理?处理?符号位和数值位一起编码:原码,反码,补码。符号位和数值位一起编码:原码,反码,补码。 2. 原码:原码:正数符号位用正数符号位用“0”表示,负数符号用表示,负数符号用“1”表示,表示,这种表示法称为原码。这种表示法称为原码。 X=+105 X原原= 0 1101001 X=-105 X原原= 1 1101001 符号符号 数值数值原码表示简单,真值转换方便,

23、但减法不方便。原码表示简单,真值转换方便,但减法不方便。为此,引进为此,引进反码,补码。反码,补码。原码在数轴上的表示原码在数轴上的表示数值007-7157编码定义(编码规则)x原 = xxxxxnnnn,022220 x原 xxxxx,011110数值(求值方法)x = (-1)x0(x12n-1 + xn-12 + xn)x = (-1)x0(x12-1 + xn-12-(n-1) + xn2-n)数值范围-2n +1 x 2n -1-1+2-n x 1-2-n3. 反码:反码: 正数反码表示与原码相同,正数反码表示与原码相同, (最高位(最高位“0”表示正,其余位为数值位。)表示正,其余

24、位为数值位。) 负数的反码表示为负数原码的符号位不变尾数按位取反。负数的反码表示为负数原码的符号位不变尾数按位取反。 例:例: +4反反 = 0 0000100-4反反 = 1 1111011 +127反反 = 0 1111111 -127反反 = 1 0000000 +0反反 = 0 0000000 -0反反 = 1 1111111x反 = xxxxnnn,0221201 x = -x0 (2n - 1) + x12n-1 + + xn-12 + xn-2n +1 x 2n -1反码在数轴上的表示反码在数轴上的表示数值-7157700编码4. 补码:补码: 正数的补码表示与原码相同,正数的补

25、码表示与原码相同, (最高位(最高位 用用“0”表示正,其余位为数值位。)表示正,其余位为数值位。) 负数的补码表示为它的反码负数的补码表示为它的反码 + 1。+127原原=0 1111111 +0原原=0 0000000- 127反反=1 0000000 -0反反=1 1111111- 127补补=1 0000001 -0补补=0 0000000(128)二进制机器值补码值0127128255+127-128编码规则x补 = xxxxnnn,022201求值方法x = -x02n + x12n-1 + + xn-12 + xn例如:10000100 的真值为-128+4=-124数值范围-2

26、n x 2n -1数值00-87157编码补码在数轴上的表示补码在数轴上的表示 引进补码以后,做原码的减法与做补码的加法结果相引进补码以后,做原码的减法与做补码的加法结果相同,但必须以同,但必须以 为模。为模。先以十进制为例说明补码的用法。先以十进制为例说明补码的用法。7-4=3 7-(10-6)=3 7+6=13(-10=3) 6是是4以以10为模的补码,减为模的补码,减4就可以变成就可以变成+6计算。计算。对三位十进制数来讲:对三位十进制数来讲: 916 317 = 599 916 + 683 = 15991000 = 599则则683是是317以以1000为模的补码为模的补码如何得到如何

27、得到683? 1 0 0 0 - 3 1 7 = 6 8 3 (补码)(补码)逐位减不必借位逐位减不必借位+1 1 + 9 9 9 - 3 1 7= 1 + 6 8 2 (反码)反码)从定义出发得出补码求法:从定义出发得出补码求法:X补补 = P n +X N位位P进制的补码,将进制的补码,将P n-1按位减去后再按位减去后再+1得到补码。得到补码。对于二进制补码:对于二进制补码: 0111 0101= 0010 7 5= 2 p=2, n=4 , 模模24=10000 =1111+1 11110101 +1 = 1010+1 = 1011 P n-1 0101的反码的反码 0101补码补码

28、( 即即0101的反码的反码+1)0 1 1 1 - 0 1 0 1= 0 0 1 00 1 1 1 + 1 0 1 1 = 1 0 0 1 0 - 1 0 0 0 0= 0 0 1 0 0101补码补码模模四、小结四、小结1. 进位计数制及其要素:进位计数制及其要素: 基数基数R, 位权位权R i ,每位数值,每位数值k i=0(R-1) 2. 进位计数制表示方法:进位计数制表示方法: N= K i R i (i=- mn) 某位数大小某位数大小 = K i R i 3. 数制之间转换数制之间转换102 整数:整数:102,除,除2取余,直到商为取余,直到商为0。 小数:小数:102,乘,乘2取整,直到要求精度取整,直到要求精度 混合小数

温馨提示

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

评论

0/150

提交评论