第二章运算方法与运算器1恢复ppt课件_第1页
第二章运算方法与运算器1恢复ppt课件_第2页
第二章运算方法与运算器1恢复ppt课件_第3页
第二章运算方法与运算器1恢复ppt课件_第4页
第二章运算方法与运算器1恢复ppt课件_第5页
已阅读5页,还剩127页未读 继续免费阅读

下载本文档

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

文档简介

1、2本章首先讲述计算机中数据与文字的表示方法本章首先讲述计算机中数据与文字的表示方法然后讲述定点运算方法、定点运算器的组成,然后讲述定点运算方法、定点运算器的组成,最后讲述浮点运算方法、浮点运算器的组成。最后讲述浮点运算方法、浮点运算器的组成。重点掌握和了解重点掌握和了解 二进数的表示和数的范围二进数的表示和数的范围IEEE754 IEEE754 规范规范定点数的加减乘除法运算定点数的加减乘除法运算规格化浮点数的四则运算规格化浮点数的四则运算阵列乘除法器阵列乘除法器本 章 主 要 内 容32.1 数据与文字的表示方法42.1 数据与文字的表示方法52.1 数据与文字的表示方法数据信息控制信息非数

2、值型数据指令信息等 一、数值型数据的表示方法 数值型数据的三个要素: 符号,数码,小数点数值型数据62.1 数据与文字的表示方法(一(一) ) 符号的表示方法符号的表示方法 - -符号数码化:符号数码化:0-0-正数;正数;1-1-负数负数 - -放在最前面放在最前面 - -机器数:符号数码化的数机器数:符号数码化的数 - -无符号化,或用无符号化,或用ASCIIASCII码码( (二二) ) 数码部分的表示数码部分的表示 由由1010个阿拉伯的数字构成个阿拉伯的数字构成 1 1。编码:。编码:BCDBCD码,码,ASCIIASCII码码72.1 数据与文字的表示方法 1 1。编码:。编码:B

3、CDBCD码码,ASCII,ASCII码码 0000-0 0000-0;0001-10001-1;0010-20010-2 0011-3 0011-3;0100-40100-4;0101-50101-5 0110-6 0110-6;0111-70111-7;1000-81000-8 1001-9 1001-9 0011000 0-0 0011000 0-0 。 00111001-9 00111001-9 转换简单,编码效率低,运算器复杂转换简单,编码效率低,运算器复杂82.1 数据与文字的表示方法2 2。采用二进制数表示。采用二进制数表示* *日常生活中,我们采用日常生活中,我们采用1010进

4、制数进制数 十进制数:十进制数:1010个符号,逢十进一,权个符号,逢十进一,权10i10i* *计算机中只有两个符号可用计算机中只有两个符号可用-二进制数二进制数1 1进位计数制进位计数制 r r进制数:用进制数:用r r个符号的组合表示数码部分,并个符号的组合表示数码部分,并且每个位置上的权为且每个位置上的权为ri ri,计数时逢,计数时逢r r进位的计数进位的计数制。制。92.1 数据与文字的表示方法 r r进制数的表示方法:进制数的表示方法: (Pn-1Pn-2Pn-1Pn-2PiPiP2P1P0.P-1P-2P2P1P0.P-1P-2.P-m)r.P-m)r = Pn-1rn-1+P

5、n-2rn- = Pn-1rn-1+Pn-2rn-2+2+PiriPiriP2r2+P1r1+P0P2r2+P1r1+P0 +P-1r-1+P-2r-2 +P-1r-1+P-2r-2.P-mr-m.P-mr-m 2 2) 计算机中常用的进位基数制计算机中常用的进位基数制 可用可用数码数码进位进位基数基数0K-10K-10 9 0 9 A B CA B CD E FD E F0 1 2 30 1 2 34 5 6 7 4 5 6 7 0 10 10909逢逢K K进进1 1逢逢1616进进1 1逢逢8 8进进1 1逢逢2 2进进1 1逢逢1010进进1 1K K16168 82 21010K K

6、进制进制十六进制十六进制八进制八进制二进制二进制十进制十进制102.1 数据与文字的表示方法(1)(1)二二八,十六进制之间的转换八,十六进制之间的转换* *23=823=8;24=1624=16 - -分组合并,扩展表示方法分组合并,扩展表示方法例例:(100010001)B=421O=111H:(100010001)B=421O=111H( 2( 2二、八、十六二、八、十六十十。按权相加法:。按权相加法:。逐次乘基。逐次乘基/ /除基相加法除基相加法3不同进制数之间的相互转换Pn-1rn-1+Pn-2rn-2+Pn-1rn-1+Pn-2rn-2+PiriPiriP2r2+P1r1+P0 +

7、P-1r-1+P-2r-P2r2+P1r1+P0 +P-1r-1+P-2r-2 2.P-mr-m.P-mr-m=(=(Pn-1r1+Pn-2Pn-1r1+Pn-2r1+r1+。) r1+P0 ) r1+P0 + (+ (P-mr-1+P-m-1) r-1(P-mr-1+P-m-1) r-1.P-2)r-1 +P-1)r-1.P-2)r-1 +P-1)r-1112.1 数据与文字的表示方法 (3(3十十二、八、十六二、八、十六 减权定位法减权定位法 例例 (32632610=10=(101000110101000110B B 。除基取余法整数部分)。除基取余法整数部分)/ /乘基取整法小乘基取整

8、法小数部分)数部分) 例:例:(326.625) 10 =(326.625) 10 =(? ?)B B * *采用二进制数表示,可以直接使用人们习惯采用二进制数表示,可以直接使用人们习惯的计数和计算规则。的计数和计算规则。122.1 数据与文字的表示方法(三) 小数点处理1 1。定点处理。定点处理 1 1无符号整数:无符号整数: 省略符号位,适应只有正整数的运算省略符号位,适应只有正整数的运算 2 2带符号定点整数:带符号定点整数: 小数点默认为在末尾,适应只有整数的运算小数点默认为在末尾,适应只有整数的运算 3 3带符号定点小数:带符号定点小数: 小数点默认为在最前面,适应只有小数的运小数点

9、默认为在最前面,适应只有小数的运算算13三、小数点处理2 2。浮点处理。浮点处理 - -用一组用一组0/10/1组合表示小数点的位置组合表示小数点的位置阶码阶码。浮点数的定义。浮点数的定义 N=+/-RE N=+/-REMM;E E:阶码;:阶码;MM:尾数;:尾数;R R:基数基数2 2)例:例:+111.1101=0.1111101+111.1101=0.11111012323 -111.1101=-0.1111101 -111.1101=-0.1111101232314( (四数的机器码表示四数的机器码表示无符号数:正整数。无符号数:正整数。带符号数:正数或负数。带符号数:正数或负数。真

10、值:真值: 带带“+”“+”、“”“”的数值本身。的数值本身。例:例:+0.01+0.01、-1000-1000机器数机器码):最高位为符号位,机器数机器码):最高位为符号位,“0“0表表示示“+”“+”,“1“1表示表示“”“”。原码原码反码反码补码补码2.1 数据与文字的表示方法152.1 数据与文字的表示方法原码原码定点整数定点整数X1= + 9 = + 1001B X1X1= + 9 = + 1001B X1原原=0000 1001.=0000 1001.X2= 9 = 1001B X2X2= 9 = 1001B X2原原=1000 1001.=1000 1001.定点小数定点小数X1

11、= + 0.75 = + 0.11B X1X1= + 0.75 = + 0.11B X1原原=0.1100000=0.1100000X2= 0.75 = 0.11B X2X2= 0.75 = 0.11B X2原原=1.1100000=1.11000000 0的表示形式不唯一的表示形式不唯一+ 0+ 0原原= 00000000 0= 00000000 0原原= 10000000= 10000000原码加减法运算复杂。原码加减法运算复杂。101101xxxxxx原nnnnxxxxxx202202原16反码反码定点整数定点整数X1= + 9 = + 1001B X1X1= + 9 = + 1001B

12、 X1反反=0000 1001.=0000 1001.X2= 9 = 1001B X2X2= 9 = 1001B X2反反=1111 0110.=1111 0110.定点小数定点小数X1= + 0.75 = + 0.11B X1X1= + 0.75 = + 0.11B X1反反=0.1100000=0.1100000X2= 0.75 = 0.11B X2X2= 0.75 = 0.11B X2反反=1.0011111=1.00111110 0的表示形式不唯一的表示形式不唯一+ 0+ 0反反= 00000000 0= 00000000 0反反= 11111111= 111111112.1 数据与文

13、字的表示方法10)22(01xxxxxn反nnnxxxxx20) 12(021反17 补码的引入 模和同余 模:计量器的溢出容量,用M表示。当运算结果超出计量范围,溢出部分舍弃。 字长为n+1位时 定点整数的模为2n+1 。 定点小数的模为2 。 同余:两整数A、B除以模M,所得的余数相同。可记作A=B (mod M ) 当模为12时 4和16同余,可写作 4 = 16 (mod 12) -2和10同余,可写作 2 = 10 (mod 12) 利用补码可将减法运算转换成为加法运算2.1 数据与文字的表示方法n+110000n+110.0004-2=4+104-2=4+1018补码补码定点整数定

14、点整数X1= + 9 = + 1001B X1X1= + 9 = + 1001B X1补补=0000 1001.=0000 1001.X2= 9 = 1001B X2X2= 9 = 1001B X2补补=1111 0111.=1111 0111.定点小数定点小数X1= + 0.75 = + 0.11B X1X1= + 0.75 = + 0.11B X1补补=0.1100000=0.1100000X2= 0.75 = 0.11B X2X2= 0.75 = 0.11B X2补补=1.0100000=1.01000000 0的表示形式唯一的表示形式唯一+ 0+ 0补补= 0= 0补补= 000000

15、00= 000000002.1 数据与文字的表示方法10201xxxxx补nnnxxxxx202021补)(modMxMx补19X真真值值+/- 变成变成 0/1数值位不变数值位不变X原原XS=0时,数值位不变时,数值位不变XS=1时,数值位变反加时,数值位变反加1X补补XS=0时,数值位不变时,数值位不变XS=1时,数值位变反时,数值位变反X反反2.1 数据与文字的表示方法三种不同机器数以及真值之间的转换三种不同机器数以及真值之间的转换20原码与补码的直接转换法原码与补码的直接转换法当当X X为正数时,为正数时,XX补补=X=X原原=X=X;当当X X为负数时,由原码求补码的简便算法:为负数

16、时,由原码求补码的简便算法:符号位不变,最后面的符号位不变,最后面的1 1及其后各位保持不变,及其后各位保持不变,中间各位按位取反。中间各位按位取反。例:例: X X原原= 1 . 111001 1000= 1 . 111001 1000 X X补补= 1 . 000110 1000 = 1 . 000110 1000 2.1 数据与文字的表示方法不变不变不变不变取反取反21三种机器数的比较三种机器数的比较正数的原、反、补码相等,负数的各自不同正数的原、反、补码相等,负数的各自不同原码的符号位是人为定义的,不能参与运算原码的符号位是人为定义的,不能参与运算补码的符号位是通过模运算得到的,是数值

17、的补码的符号位是通过模运算得到的,是数值的一部分,可参与运算。一部分,可参与运算。原、反码零的表示形式不唯一,补码零的表示原、反码零的表示形式不唯一,补码零的表示形式唯一。形式唯一。假设字长为假设字长为8 8位,那么:位,那么:+0+0原原=00000000 -0=00000000 -0原原=10000000=10000000+0+0反反=00000000 -0=00000000 -0反反=11111111=11111111+0+0补补=-0=-0补补=00000000=000000002.1 数据与文字的表示方法22机器码的表数范围不同机器码的表数范围不同原、反码的表数范围相对于零点对称原、

18、反码的表数范围相对于零点对称补码的表数范围,负方向比正方向宽补码的表数范围,负方向比正方向宽以字长以字长4 4位位( (含符号位含符号位) )的纯整数为例的纯整数为例原码、反码表数范围原码、反码表数范围 补码表数范围多表示一个负数)补码表数范围多表示一个负数)0 0+1+1+2+2+3+3+4+4+5+5+6+6+7+7-1-1-2-2-3-3-4-4-5-5-6-6-7-7+0+0-0-07个正数个正数7个负数个负数0 0+1+1+2+2+3+3+4+4+5+5+6+6+7+7-1-1-2-2-3-3-4-4-5-5-6-6-7-7-8-87个正数个正数8个负数个负数-8-82.1 数据与文

19、字的表示方法23真真值值X X真真值值X X十十进进制制 二二进进制制 X X 原原 X X 补补 X X 反反十十进进制制 二二进进制制 X X 原原 X X 补补 X X 反反+ +0 0+ +1 1+ +2 2+ +3 3+ +4 4+ +5 5+ +6 6+ +7 7+ +8 8+ +0 00 00 0+ +0 00 01 1+ +0 01 10 0+ +0 01 11 1+ +1 10 00 0+ +1 10 01 1+ +1 11 10 0+ +1 11 11 1- -0 00 00 00 00 00 00 01 10 00 01 10 00 00 01 11 10 01 10 0

20、0 00 01 10 01 10 01 11 10 00 01 11 11 1- - -0 0- -1 1- -2 2- -3 3- -4 4- -5 5- -6 6- -7 7- -8 8- -0 00 00 0- -0 00 01 1- -0 01 10 0- -0 01 11 1- -1 10 00 0- -1 10 01 1- -1 11 10 0- -1 11 11 1- -1 10 00 00 01 10 00 00 01 10 00 01 11 10 01 10 01 10 01 11 11 11 10 00 01 11 10 01 11 11 11 10 01 11 11 11

21、 1- -0 00 00 00 01 11 11 11 11 11 11 10 01 11 10 01 11 11 10 00 01 10 01 11 11 10 01 10 01 10 00 01 11 10 00 00 01 11 11 11 11 11 11 10 01 11 10 01 11 11 10 00 01 10 01 11 11 10 01 10 01 10 00 01 11 10 00 00 0- -1000-81000-02.1 数据与文字的表示方法真值与三种机器数间的对照真值与三种机器数间的对照24定点数与浮点数定点数与浮点数定点数定点数约定机器中所有数据的小数点位置是

22、固定不变约定机器中所有数据的小数点位置是固定不变的。的。小数点隐含表示。小数点隐含表示。可表示成纯小数或纯整数。可表示成纯小数或纯整数。定点数定点数X XX0 X1X2X0 X1X2XnXn表示形式表示形式2.1 数据与文字的表示方法25 定点数的表示范围 原码定点数 (字长n+1位) 纯小数:(12-n )(1-2-n ) 例:字长为8位,那么 最小定点小数: -127/128 最大定点小数: 127/128 纯整数:( 2n 1)(2n -1) 例:字长为8位,那么 最小定点整数: -127 最大定点整数: 1271.11111111.11111110.11111110.111111111

23、111111.11111111.01111111.01111111.2.1 数据与文字的表示方法26 定点数的表示范围 补码定点数 (字长n+1位) 纯小数:112-n 例:字长为8位,那么 最小定点小数: 1 最大定点小数: 127/128 纯整数:2n 2n1 例:字长为8位,那么 最小定点整数: 128 最大定点整数: 1271.00000001.00000000.11111110.111111110000000.10000000.01111111.01111111.2.1 数据与文字的表示方法27尾数部分M阶码部分Eesemsmk位n位1位1位尾数部分M阶码部分Eesemsmk位n位1

24、位1位阶码,常为纯整数尾数,常为纯小数浮点数浮点数小数点的位置不固定,根据需要而浮动。小数点的位置不固定,根据需要而浮动。任何一个数任何一个数N N的浮点表示形式为的浮点表示形式为 N=M N=M2E2E2.1 数据与文字的表示方法0+ +0+1-1+ +28122)21 (knX最大正数knX222最小正数12)(21kX最小负数绝对值最大负数0.1021.0 . 0第n位K个0K K个个1 11.1 . 020.0 . 1n n个个0 01.0121.1 . 0n个1K个1 浮点数的表示范围 若阶码数值部分为K位,尾数数值部分为n位,均用补码表示,那么2.1 数据与文字的表示方法29 规格

25、化的浮点数 为了充分利用尾数的有效数位,规定尾数值应在0.51之间。 补码表示时,尾数的最高位应与符号位不同 当 1/2 = M 1 时,应有0.1 的形式 当 1 = M - 1/2 时,应有1.0 的形式为什么是,而不是=?为什么是=?2.1 数据与文字的表示方法补码的表示范围比原码宽,可以表示-1, -1补=1.0000000,是规格化的浮点数-1/2原=1.1000000-1/2补=1.1000000不是规格化的浮点数30浮点数的典型值:阶码和尾数均用补码表示浮点数的典型值:阶码和尾数均用补码表示浮点数代码浮点数代码真值真值阶码阶码尾数尾数最大正数最大正数最小正数最小正数规格化的最小正

26、数规格化的最小正数绝对值最大负数绝对值最大负数绝对值最小负数绝对值最小负数规格化的绝对值最规格化的绝对值最小负数小负数01011 110100 010100 0 01 011 110100 010100 00.110.1111110.000.0001 01 0.100.1000001.001.0000001.111.1111111.011.011111kkkkkknnnn21212212122)22(222122222)21 (2.1 数据与文字的表示方法31X1移移=27+1101101 =10000000 + 1101101 =11101101X1补补=01101101X2移移=27+(-

27、1101101) = 10000000 - 1101101 = 00010011 X2补补= 10010011移码:在真值移码:在真值X X的基础上加一个常数,相当于的基础上加一个常数,相当于X X在数轴上向正方向偏移了若干单位。在数轴上向正方向偏移了若干单位。XX移码移码= =偏置值偏置值+X+X标准偏置值:字长标准偏置值:字长n+1n+1位时,偏置值为位时,偏置值为2n2n。例:字长例:字长8 8位,若偏置值为位,若偏置值为2727,X1=+1101101X1=+1101101,X2= -1101101X2= -1101101,求移码。,求移码。2.1 数据与文字的表示方法P2P26 63

28、2真值真值X X( (十进制十进制) )真值真值X X(二进制)(二进制)XX补补XX移移-128-127 -101127-10000000-1111111 -00000010000000000000111111111000000010000001 111111110000000000000001011111110000000000000001 011111111000000010000001111111112.1 数据与文字的表示方法移码、补码和真值之间的关系移码、补码和真值之间的关系设字长设字长8 8位,偏置值为标准偏置值位,偏置值为标准偏置值272733移码的特点字长移码的特点字长8 8

29、位,偏置值为位,偏置值为2727)移码最高位为移码最高位为0 0表示负数,最高位为表示负数,最高位为1 1表示正表示正数。数。移码直观反映真值的大小。移码直观反映真值的大小。全全0 0时,所对应的真值最小;时,所对应的真值最小;全全1 1时,所对应的真值最大;时,所对应的真值最大;有利于两个浮点数进行阶码的大小比较有利于两个浮点数进行阶码的大小比较0 0的移码表示形式唯一的移码表示形式唯一+0+0移移=-0=-0移移=10000000=10000000移码将真值映射到正数域,可视为无符号数移码将真值映射到正数域,可视为无符号数同一真值的补码和移码只相差符号位。同一真值的补码和移码只相差符号位。

30、2.1 数据与文字的表示方法34IEEE754IEEE754标准的浮点数:应用于标准的浮点数:应用于80X8680X86微机微机18233232位位短浮点数短浮点数数符阶码 尾数64位长浮点数11152数符阶码 尾数80位临时浮点数数符阶码尾数115643232位短浮点数位短浮点数1.1.尾数隐含了最高位尾数隐含了最高位1(1(位权位权20)20),实际为,实际为2424位,尾数采用原位,尾数采用原码表示。码表示。2.2.阶码采用偏置值为阶码采用偏置值为127127的移码表示。的移码表示。2.1 数据与文字的表示方法P2P20 0352.1 数据与文字的表示方法IEEE754IEEE754标准

31、标准基数基数R=2R=2,基数固定,采用隐含方式来表示它。,基数固定,采用隐含方式来表示它。3232位的浮点数:位的浮点数:S S数的符号位,数的符号位,1 1位,在最高位,位,在最高位,“0“0表示正数,表示正数,“1“1表示负数。表示负数。MM是尾数,是尾数, 23 23位,在低位部分,采用纯小数表示位,在低位部分,采用纯小数表示E E是阶码,是阶码,8 8位,采用移码表示。移码比较大小方便。位,采用移码表示。移码比较大小方便。规格化:规格化: 若不对浮点数的表示作出明确规定,同一若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。个浮点数的表示就不是惟一的。尾数域最左位尾数域

32、最左位( (最高有效位最高有效位) )总是总是1 1, 故这一位经常故这一位经常不予存储,而认为隐藏在小数点的左边。不予存储,而认为隐藏在小数点的左边。采用这种方式时,将浮点数的指数真值采用这种方式时,将浮点数的指数真值e e变成阶码变成阶码E E时,应将指数时,应将指数e e加上一个固定的偏移值加上一个固定的偏移值127(01111111)127(01111111),即,即E=e+127E=e+127。362.1 数据与文字的表示方法 6464位的浮点数中符号位位的浮点数中符号位1 1位,阶码域位,阶码域1111位,尾位,尾数域数域5252位,指数偏移值是位,指数偏移值是10231023。因

33、此规格化。因此规格化的的6464位浮点数位浮点数x x的真值为:的真值为: x=(-1)S x=(-1)S(1.M)(1.M)2E-10232E-1023 e=E-1023 e=E-1023 一个规格化的一个规格化的3232位浮点数位浮点数x x的真值表示为的真值表示为 x=(-1)S x=(-1)S(1.M)(1.M)2E-1272E-127 e=E-127 e=E-127372.1 数据与文字的表示方法 真值真值x x为零表示:当阶码为零表示:当阶码E E为全为全0 0且尾数且尾数MM也为全也为全0 0时的时的值,结合符号位值,结合符号位S S为为0 0或或1 1,有正零和负零之分。,有正

34、零和负零之分。 真值真值x x为无穷大表示:当阶码为无穷大表示:当阶码E E为全为全1 1且尾数且尾数MM为全为全0 0时,时,结合符号位结合符号位S S为为0 0或或1 1,也有,也有+和和-之分。之分。 这样在这样在3232位浮点数表示中,要除去位浮点数表示中,要除去E E用全用全0 0和全和全1 12551025510表示零和无穷大的特殊情况,指数的偏移表示零和无穷大的特殊情况,指数的偏移值不选值不选1281281000000010000000),而选),而选1271270111111101111111)。对于规格化浮点数,)。对于规格化浮点数,E E的范围变为的范围变为1 1到到254

35、254,真正的指数值,真正的指数值e e则为则为-126-126到到+127+127。因此。因此3232位位浮点数表示的绝对值的范围是浮点数表示的绝对值的范围是10-3810-3810381038以以1010的幂表示)。的幂表示)。 浮点数所表示的范围远比定点数大。一台计算机中究浮点数所表示的范围远比定点数大。一台计算机中究竟采用定点表示还是浮点表示,要根据计算机的使用竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以上的计算机中同时采条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示,由使用者进行选择。而单片机中用定点、浮点表示,由使用者进行选择。而单片机

36、中多采用定点表示。多采用定点表示。382.1 数据与文字的表示方法浮点数表示范围如下图所示浮点数表示范围如下图所示39(2)(2)计算出阶码真值计算出阶码真值e =e =移码移码- -偏置值偏置值127127 e =1000 0010-111 1111=011=(3)10 e =1000 0010-111 1111=011=(3)10(3)(3)写出尾数写出尾数( (包括隐含的最高位包括隐含的最高位1) 1.M=1.0110111) 1.M=1.011011(4)(4)写出此数的浮点记数形式写出此数的浮点记数形式X =(-1)s X =(-1)s 1.M 1.M 2e =+1.0110112e

37、 =+1.011011* *23=1011.01123=1011.011(5)(5)转换成十进制数,并加上符号位转换成十进制数,并加上符号位 11.375 11.375例例1: 1: 若短浮点数若短浮点数x x的的754754标准存储格式为标准存储格式为(41360000)16(41360000)16,求其浮点数的十进制数值。求其浮点数的十进制数值。 (1) (1)将十六进制数转换成二进制数,写成短浮点数格式将十六进制数转换成二进制数,写成短浮点数格式2.1 数据与文字的表示方法011 0110 0000 0000 0000 0000011 0110 0000 0000 0000 000010

38、0 0001 100 0001 0 00 0s阶码(8位)尾数(23位)400 0100 0001 1100 0001 1010 0100 1100 0000 0000 0000010 0100 1100 0000 0000 0000正数阶码的移码(8位)隐含了最高数位1的尾数的原码(23位)例例2 2:将:将20.59375)1020.59375)10转换成短浮点数格式转换成短浮点数格式 (1) (1)把十进制数转换为二进制数把十进制数转换为二进制数 (20.59375)10=(10100.10011)2 (20.59375)10=(10100.10011)2 (2) (2)写成浮点记数形式

39、,尾数保留最高位写成浮点记数形式,尾数保留最高位1 1,不计入。,不计入。 10100.10011=1.0100 10011 10100.10011=1.0100 10011* *2424 (3) (3)计算出阶码的移码计算出阶码的移码 1111111+100=1000 0011 1111111+100=1000 0011 (4) (4)以短浮点数格式存储该数以短浮点数格式存储该数 41A4C000H 41A4C000H2.1 数据与文字的表示方法41二、非数值数据表示二、非数值数据表示通常是指字符、字符串、图形符号和汉字等各种通常是指字符、字符串、图形符号和汉字等各种数据,它们通常不用来表示

40、数值的大小,一般数据,它们通常不用来表示数值的大小,一般情况下不对它们进行算术运算。情况下不对它们进行算术运算。字符和字符串表示字符和字符串表示ASC (ASC (美国标准信息交换码美国标准信息交换码) )7 7位基本位基本ASCASC码国际通用)码国际通用)可表示可表示128128种字符种字符8 8位扩充位扩充ASCASC码可重新定义)码可重新定义)可表示可表示256256种字符种字符ASCASC码可分为:码可分为: 显示字符显示字符控制字符控制字符“0 ”为48 “A为65return 、backspace键的编码分别为13、82.1 数据与文字的表示方法P2P27 742高高 三三 位位

41、低低 四四 位位0 0 00 0 10 1 00 111 0 01 0 111 01110 0 0 0S P0Pp0 0 0 1!1AQaq0 0 1 0“2BRbr0 0 11#3CScs0 1 0 0$4DTdt0 1 0 1%5EUeu0 11 0&6FVfv0 1117GWgw1 0 0 0(8HXhx1 0 0 1)9IYiy1 0 1 0*:JZjz1 0 11+;Kk11 0 0,Nn1111/?O_oD E L2.1 数据与文字的表示方法43256列256行10241024个个 10241024个个1024行1024列统一代码统一代码Unicode) Unicode)

42、能够表示能够表示68006800种语言中任种语言中任意一种语言里使用的所有符意一种语言里使用的所有符号。号。UCS-2UCS-2用用1616位数来表示位数来表示可表示可表示6553665536个符号个符号UCS-4UCS-4用用3232位数来表示位数来表示每个每个1616位数都来自于对位数都来自于对UCS-2UCS-2的进一步扩展的进一步扩展可表示可表示220220个字符个字符2.1 数据与文字的表示方法44汉字编码汉字编码汉字是一种象形文字,无法直接用标准西文键汉字是一种象形文字,无法直接用标准西文键盘输入,必须经过转换间接输入;盘输入,必须经过转换间接输入;汉字的字数也较多,不能用单字节的

43、汉字的字数也较多,不能用单字节的ASCASC(256256个字符来表示个字符来表示目前采用两个字节可以表示目前采用两个字节可以表示64K64K字符的汉字符的汉字编码方案。字编码方案。汉字的应用范围较广东南亚国家),但编码汉字的应用范围较广东南亚国家),但编码字符集不相同,中国大陆常用字符集不相同,中国大陆常用GB / GBKGB / GBK码,码,台湾台湾BIG5BIG5。 2.1 数据与文字的表示方法45外部(输入)码机内码字形(输出)码键盘管理程序汉字处理程序交换码(国标码)汉字处理过程汉字处理过程2.1 数据与文字的表示方法46外部码外部码也叫汉字输入编码,主要是从键盘也叫汉字输入编码,

44、主要是从键盘( (语音、手语音、手写、光电写、光电) )输入计算机中的代表汉字的编码。输入计算机中的代表汉字的编码。汉字输入方案有数百种,基本上是直接利用西汉字输入方案有数百种,基本上是直接利用西文标准键盘进行汉字输入,每一种汉字输入法文标准键盘进行汉字输入,每一种汉字输入法都各自提供相应的键盘码与汉字机内码都各自提供相应的键盘码与汉字机内码( (码表码表) )。编码方案可分四类:编码方案可分四类:数码如电报码,区位码,国标码等)数码如电报码,区位码,国标码等)音码如全拼码,简拼码,双拼码等)音码如全拼码,简拼码,双拼码等)形码如五笔字型,大众码,仓吉码等)形码如五笔字型,大众码,仓吉码等)音

45、形码如自然码,首尾码等)音形码如自然码,首尾码等)2.1 数据与文字的表示方法47交换码交换码 用于计算机与其他系统或设备之间进行汉字代用于计算机与其他系统或设备之间进行汉字代码信息交换的标准汉字代码码信息交换的标准汉字代码目前最常使用的是国标码目前最常使用的是国标码20002000年的年的GB18030-2000GB18030-2000每个汉字每个汉字( (图形符号图形符号) )用两个字节表示,每个字用两个字节表示,每个字节只用低节只用低7 7位,即最高位为位,即最高位为0 0的二进制码的二进制码汉字分为两级:汉字分为两级:一级为使用频度高的常用汉字一级为使用频度高的常用汉字37553755

46、)二级为次常用的汉字二级为次常用的汉字30083008)2.1 数据与文字的表示方法48内部码内部码 也称汉字内码或机内码,是计算机对汉字进行也称汉字内码或机内码,是计算机对汉字进行存储、运算、传码的实际代码。存储、运算、传码的实际代码。 一般用两个字节表示一个汉字内码,每个字节一般用两个字节表示一个汉字内码,每个字节最高位为最高位为 1 1。 还有少数三字节、四字节等内还有少数三字节、四字节等内部码。部码。最多能表示最多能表示128128128 =16384128 =16384个汉字和图形个汉字和图形符号符号 机内码目前虽未完全统一,但已趋于标准化。机内码目前虽未完全统一,但已趋于标准化。内

47、部码与国标码的对应关系:内码内部码与国标码的对应关系:内码= =国标码国标码+8080 +8080 国标码每个字节最高位为国标码每个字节最高位为1 1 内部码。内部码。 例如:国标码例如:国标码 3B7A 00111011 3B7A 00111011 01111010 01111010 机内码机内码 BBFA 10111011 BBFA 10111011 11111010111110102.1 数据与文字的表示方法49字形码字形码也称为字模码,用点阵表也称为字模码,用点阵表示的汉字字形代码,是汉示的汉字字形代码,是汉字的输出形式。字的输出形式。简易型简易型 16 161616提高型提高型 24

48、 242424、 32323232等等16161616点阵,每个汉字点阵,每个汉字占占3232字节。字节。每行每行1616点,每点点,每点0/10/1,1616位,位,2 2个字节个字节共共1616行行16162=322=32字节字节2.1 数据与文字的表示方法502.1 数据与文字的表示方法汉字代码交换流程汉字代码交换流程51奇偶校验码奇偶校验码常用于存储器读、写检查或常用于存储器读、写检查或ASCIIASCII字符传送过字符传送过程中的检查。程中的检查。实现方法:由有效信息位和实现方法:由有效信息位和1 1位奇偶校验位组位奇偶校验位组成。成。奇校验奇校验保证整个校验码中有奇数个保证整个校验

49、码中有奇数个1 1偶校验偶校验保证整个校验码中有偶数个保证整个校验码中有偶数个1 12.1 数据与文字的表示方法52有效信息有效信息偶校验码偶校验码奇校验码奇校验码101010101010101010101010101010100 010101010101010101 1010101000101010001010100010101001 101010100010101000 0000000000000000000000000000000000 000000000000000001 1011111110111111101111111011111111 101111111011111110 011

50、1111111111111111111111111111110 011111111111111111 12.1 数据与文字的表示方法简单奇偶校验简单奇偶校验仅实现横向的奇、偶校验。仅实现横向的奇、偶校验。可检测出一位或奇数位错误,但不能确可检测出一位或奇数位错误,但不能确定出错位置。定出错位置。例例7 7:假定信息位:假定信息位8 8位,奇、偶校验位在末位,奇、偶校验位在末尾。尾。53交叉奇偶校验交叉奇偶校验横向:每一个字节有一个奇、偶校验位横向:每一个字节有一个奇、偶校验位纵向:全部字节同一位也设置奇、偶校验位纵向:全部字节同一位也设置奇、偶校验位可以发现两位同时出错的情况。可以发现两位同时

51、出错的情况。例:纵、横均约定为偶校验例:纵、横均约定为偶校验2.1 数据与文字的表示方法有效信息有效信息横向校验横向校验第一字节第一字节 10101010 10101010 0 0第二字节第二字节 01010100 010101001 1第三字节第三字节 00000000 000000000 0第四字节第四字节 01111111 011111111 1第五字节第五字节 11111111 11111111 0 0纵向校验纵向校验 01111110 01111110 1154补码加减法运算公式补码加减法运算公式 ( (讨论纯小数,纯整数类似讨论纯小数,纯整数类似) )X+YX+Y补补=X=X补补+

52、Y+Y补补 (mod 2)mod 2)X-YX-Y补补=X=X补补+-Y+-Y补补 (mod 2)mod 2)可证,可证,-Y-Y补补= -Y= -Y补补 (mod 2)mod 2)所以,所以,X-YX-Y补补=X=X补补-Y-Y补补 (mod 2)mod 2)-Y-Y补补=Y=Y补补+2-n ( Y+2-n ( Y补连同符号位变反,末位加补连同符号位变反,末位加1)1)简便方法:简便方法:YY补最右边的补最右边的1 1及其后各位保持不变,连同及其后各位保持不变,连同符号位在内一起变反。符号位在内一起变反。例例1010:已知:已知X1=-0.1110X1=-0.1110,X2=+0.1101,

53、X2=+0.1101, 求:求:X1X1补,补,-X1-X1补,补,X2X2补,补,-X2-X2补补解:解: X1 X1原原=1.1110 X2=1.1110 X2原原=0.1101=0.1101 X1 X1补补=1.0010 X2=1.0010 X2补补=0.1101=0.1101 -X1 -X1补补=0.1110 -X2=0.1110 -X2补补=1.0011 =1.0011 2.2 定点加减运算55例例9 9:x=+0.1011,y=-0.0101x=+0.1011,y=-0.0101,利用补码加法,利用补码加法计算计算x+y=?x+y=?解:解: x x补补=0.1011=0.1011

54、,yy补补=1.1011 =1.1011 x x补补=0.1011=0.1011 + y + y补补=1.1011=1.1011 x+y x+y补补=10.0110 x+y=+0.0110=10.0110 x+y=+0.01102.2 定点加减运算P3P32 2自动舍弃+0.6875+0.6875-0.3125-0.3125+0.375+0.37556例例1111:x=+0.1101,y=+0.0110,x=+0.1101,y=+0.0110,利用补码减法利用补码减法计算计算x-y=?x-y=?解:解:xx补补=0.1101=0.1101,yy补补=0.0110, =0.0110, -y -y

55、补补=1.1010=1.1010 x x补补 =0.1101 =0.1101 + -y + -y补补 =1.1010 =1.1010 x-y x-y补补=10.0111 x-y= 0.0111=10.0111 x-y= 0.0111符号位参与运算,超出模的进位自动舍弃。符号位参与运算,超出模的进位自动舍弃。自动舍弃后,结果正确吗?自动舍弃后,结果正确吗?如何判断?如何判断?2.2 定点加减运算P3P33 3自动舍弃+0.8125+0.8125+0.375+0.375+0.4375+0.437557补码的溢出补码的溢出在选定了运算字长和数的表示方法之后,计算在选定了运算字长和数的表示方法之后,计

56、算装置所能表示的数的范围是一定的,超过此范装置所能表示的数的范围是一定的,超过此范围就称为溢出。围就称为溢出。例:例: 运算字长运算字长 数的表示方法数的表示方法 定点整数的范定点整数的范围围 n= 8 n= 8 原码原码 -127 -127+127+127 n= 8 n= 8 反码反码 -127 -127+127 +127 n= 8 n= 8 补码补码 -128 -128+127+1272.2 定点加减运算58例例1212:X=0.1011,Y=0.1001,X+YX=0.1011,Y=0.1001,X+Y补补=?=? X X补补 0.1011 0.1011 +Y +Y补补 0.1001 0

57、.1001 X+Y X+Y补补 1.0100 1.0100 两正数相加两正数相加, ,结果为负结果为负, ,上溢上溢。溢出检测方法溢出检测方法方法一:常识判别法方法一:常识判别法补码加法运算时,仅在两数同号时才可能产生补码加法运算时,仅在两数同号时才可能产生溢出。溢出。 OVER= XsYsZs+XsYsZs=1OVER= XsYsZs+XsYsZs=1两正数相加,结果为负,产生上溢;两负数相加,结果为正,产生下溢。2.2 定点加减运算59方法二:双高位判别法单符号位补码)方法二:双高位判别法单符号位补码)考察两补码相加时符号位产生的进位考察两补码相加时符号位产生的进位CfCf和和最高数值位产

58、生的进位最高数值位产生的进位C0C0。 OVER=CfC0=1 OVER=CfC0=1 例例1414:X=+0.1100,Y=+0.1000,X+YX=+0.1100,Y=+0.1000,X+Y补补=?=? X X补补 0 . 1 1 0 0 0 . 1 1 0 0 +Y +Y补补 0 . 1 0 0 0 0 . 1 0 0 0 X+Y X+Y补补 1 . 0 1 0 0 1 . 0 1 0 0 Cf=0C0=1C0=1CfC0=1 CfC0=1 有上溢出产生有上溢出产生2.2 定点加减运算60方法三:变形补码法双符号位补码)方法三:变形补码法双符号位补码)采用双符号位补码模采用双符号位补码模

59、4 4补码)补码)00-00-正数正数 11- 11-负数负数 01- 01-上溢上溢 10- 10-下溢下溢 例例1515:X=-0.1100X=-0.1100,Y=-0.1000Y=-0.1000,利用,利用变形补码计算变形补码计算X+YX+Y补补 x x变补变补 11 0100 11 0100 + y + y变补变补 11 1000 11 1000 x+y x+y变补变补 10 1100 10 1100 下溢下溢 练习:练习:P69-6(1) X=0.11011P69-6(1) X=0.11011,Y=-Y=-0.111110.11111,用变形补码计算,用变形补码计算X-YX-Y,并指

60、出结,并指出结果是否溢出?果是否溢出?2.2 定点加减运算61基本的二进制加减法器 加法单元加法单元全加器:有三个输入端,是考虑低位向本位全加器:有三个输入端,是考虑低位向本位进位的加法器。进位的加法器。FAAi BiAi BiCi-1Ci-1CiCiSiSiSi=AiBi Ci-1Si=AiBi Ci-1Ci=AiBi + (Ai Bi)Ci-1Ci=AiBi + (Ai Bi)Ci-1本位进位本位进位传送进位传送进位3T3TTTT6T5T62全加器真值表全加器真值表A Ai iB Bi iC Ci-1i-1S Si iC Ci i0 00 00 00 01 11 11 11 10 00 01 11

温馨提示

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

评论

0/150

提交评论