第2章 运算方法和运算器.ppt

上传人:s****8 文档编号:77400444 上传时间:2023-03-14 格式:PPT 页数:162 大小:3.77MB
返回 下载 相关 举报
第2章 运算方法和运算器.ppt_第1页
第1页 / 共162页
第2章 运算方法和运算器.ppt_第2页
第2页 / 共162页
点击查看更多>>
资源描述

《第2章 运算方法和运算器.ppt》由会员分享,可在线阅读,更多相关《第2章 运算方法和运算器.ppt(162页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第二章第二章运算方法和运算器运算方法和运算器2.1数据与文字的表示方法数据与文字的表示方法(掌握)(掌握)2.2定点加法、减法运算定点加法、减法运算(掌握)(掌握)2.3定点乘法运算定点乘法运算(掌握)(掌握)2.4定点除法运算定点除法运算(掌握)(掌握)2.5定点运算器的组成定点运算器的组成(了解)(了解)2.6浮点运算方法和浮点运算器(理解)浮点运算方法和浮点运算器(理解)要求:掌握定点和浮点数的表示方法,表示范围,掌要求:掌握定点和浮点数的表示方法,表示范围,掌握常用的定点乘法和除法的运算方法,浮点数加法握常用的定点乘法和除法的运算方法,浮点数加法和减法的运算法,掌握数据校验的方法,理解

2、溢出和减法的运算法,掌握数据校验的方法,理解溢出判断方法,运算器部件的组成结构及设计方法。判断方法,运算器部件的组成结构及设计方法。第二章第二章运算方法和运算器运算方法和运算器内容及要求内容及要求 学习要点学习要点数据编码数据编码w数值数据的数制数值数据的数制w数值数据的机器码表示数值数据的机器码表示w浮点数的表示浮点数的表示运算方法运算方法w定点运算定点运算w溢出处理溢出处理w浮点加减法浮点加减法w数据校验数据校验第二章第二章运算方法和运算器运算方法和运算器2.1数据与文字的表示方法数据与文字的表示方法 2.1.1数据格式数据格式2.1.2数的机器码表示数的机器码表示2.1.3字符与字符串的

3、表示方法字符与字符串的表示方法2.1.4汉字的表示方法汉字的表示方法2.1.5校验码校验码问题:问题:1 1、数的分类?、数的分类?(1 1)按照进制分为:)按照进制分为:二进制、十进制、八进制、十六进制等等。二进制、十进制、八进制、十六进制等等。预备知识预备知识(2 2)按照数值类型分为:)按照数值类型分为:无符号数和有符号数。无符号数和有符号数。(3 3)按照小数点约定的方式分为:)按照小数点约定的方式分为:定点数和浮点数。定点数和浮点数。无正负问题,无正负问题,直接用二进制直接用二进制表示表示有正负问题有正负问题定点表示法定点表示法 符号符号 数值数值 纯小数:纯小数:a、定点小数表示、

4、定点小数表示:Ns.N1 N2:Ns.N1 N2 NnNn(原码、反码、补码)(原码、反码、补码)b、范围:、范围:0.0000|X|0.1110.1111111 即:即:00|X|1-21-2-n-nn位位1位位由于约定在固定的由于约定在固定的位置,小数点就不位置,小数点就不再使用记号再使用记号“.”来来表示。表示。2.1.1数据格式数据格式1 纯整数纯整数a、定点整数表示:定点整数表示:Ns N1 N2 Nn (原码、反码、补码)(原码、反码、补码)b、范围:、范围:0|X|1111111 1 即:即:0|X|22n n-1-1 2.1.1数据格式数据格式浮点数:小数点位置可变。浮点数:小

5、数点位置可变。2.1.1数据格式数据格式2十进制数的科学计数法如十进制数的科学计数法如A=-3.5105在高级语言中表示为:在高级语言中表示为:-3.5E5十进制数十进制数5也可以表示为:也可以表示为:1.254=1.2522在高级语言中表示为:在高级语言中表示为:1.25E2用二进制表示:用二进制表示:1.01E10如果用机器表示这种数,就叫如果用机器表示这种数,就叫浮点数浮点数。浮点数:小数点位置可变。浮点数:小数点位置可变。2(1)定义定义N=ReM其中其中M:尾数尾数(mantissa),是一个纯小数是一个纯小数。R:基数基数(radix),计算机中默认为,计算机中默认为2,一般省略。

6、一般省略。e:指数指数(exponent),是一个整数是一个整数。(2)一般表示形式:)一般表示形式:浮点数:小数点位置可变。浮点数:小数点位置可变。2(3)IEEE754标准格式标准格式(要求掌握(要求掌握32位格式):位格式):其真值表示为:其真值表示为:x=(1)S(1.M)2E127eE127IEEE754标准的标准的32位浮点格式中:位浮点格式中:浮点数的符号位,占:浮点数的符号位,占1位,也就是尾数的符号位。位,也就是尾数的符号位。:尾数尾数,23位,位,用原码用原码表示,假想小数点在尾数域的最表示,假想小数点在尾数域的最前面,并且假想小数点左边始终有一个前面,并且假想小数点左边始

7、终有一个1(叫隐藏位)。(叫隐藏位)。因此此尾数的绝对值肯定大于等于因此此尾数的绝对值肯定大于等于1小于小于2。(最小:。(最小:23位位全部是全部是0,最大:,最大:23位全部是位全部是1):阶码阶码(8位位),用移码用移码表示(有偏移值的编码,表示(有偏移值的编码,IEEE754规定偏移值为规定偏移值为+127,即比实际值多,即比实际值多127)。)。IEEE754标准格式标准格式(64位格式):位格式):其真值表示为:其真值表示为:x=(1)S(1.M)2E1023eE1023高级语言的高级语言的float、double使用的即是使用的即是IEEE754规定的格式。规定的格式。float

8、:32位浮点值,也叫单精度浮点数(位浮点值,也叫单精度浮点数(4字节保存)字节保存)double:64位浮点值,也叫双精度浮点数(位浮点值,也叫双精度浮点数(8字节保存)字节保存)单精度浮点数的例子:单精度浮点数的例子:(3)IEEE754标准格式(续)标准格式(续)1位位8位位7位位8位位8位位1000001101111101IEEE754标准中,阶码值从标准中,阶码值从1到到254代表的实际值为代表的实际值为-126至至+127,而阶码值,而阶码值0和和255有特殊含义。有特殊含义。u正零、负零:正零、负零:E与M均为零,正负之分由符号确定。u正负无穷:正负无穷:E为全1,M为全零。另外一

9、个概念:u机器零:机器零:当浮点数的尾数为 0,不论其阶码为何值,或者当阶码的值遇到比它能表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零值,称为机器零。(3)IEEE754标准格式(续)标准格式(续)例例1若浮点数若浮点数的的IEEE754标准存储格式为标准存储格式为(41360000)16,求,求其浮点数的十进制数值。其浮点数的十进制数值。首先分别将整数和分数部分转换成二进制数:20.5937510100.10011 然后移动小数点,使其在第1,2位之间 10100.100111.01001001124e4 于是得到:S0,E4127131,M010010011 最后得到32

10、位浮点数的二进制存储格式为:0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16 例例2将将(20.59375)10转换成转换成754标准的标准的32位浮点数位浮点数的二进制存储格式。的二进制存储格式。求解技巧例如:将下列十进制数表示成IEEE754格式的32位浮点数二进制存储形式。(1)27/32 (2)11/512求解:(1)27/32=27*(1/32)=(11011)2*2-5 (2)11/512=(1011)2*2-9练习:1、将、将20.1875转换成转换成32位浮点数存储?位浮点数存储?2、若浮点数的二进制存储格式为(、若浮点数的

11、二进制存储格式为(41A18000)16,求,求其十进制值?其十进制值?作业:将十进制数将十进制数17.296875转换成转换成IEEE754格式的格式的32位浮点数位浮点数的二进制存储。的二进制存储。课堂练习和补充习题课堂练习和补充习题浮点数:小数点位置可变。浮点数:小数点位置可变。2(4)浮点数的规格化)浮点数的规格化1)尾数用原码表示时:尾数最高数值位为)尾数用原码表示时:尾数最高数值位为1的数叫规格化数。的数叫规格化数。即即正数的尾数形式为正数的尾数形式为0.1的形式。的形式。负数的尾数形式为负数的尾数形式为1.1的形式。的形式。(如,如,0.01125要规格化则左移一位变为要规格化则

12、左移一位变为0.1124;0.01125要规格化则左要规格化则左移一位变为移一位变为1.1124)2)尾数用补码表示时:尾数最高数值位和尾数符号位相反)尾数用补码表示时:尾数最高数值位和尾数符号位相反的数叫规格化数。的数叫规格化数。即即正数的尾数形式为正数的尾数形式为0.1的形式。的形式。负数的尾数形式为负数的尾数形式为1.0的形式。的形式。(如,如,0.01125要规格化则左移一位变为要规格化则左移一位变为0.1124;0.01125要规格化则补要规格化则补码码1.10125左移一位变为左移一位变为1.0124)3)若是非规格化数:可通过修改阶码、)若是非规格化数:可通过修改阶码、左右移左右

13、移尾数的方法尾数的方法使其变为规格化数使其变为规格化数.移位运算移位运算1、逻辑移位、逻辑移位逻辑左移时,高位移出,低位添逻辑左移时,高位移出,低位添0;逻辑右移时,低位移出,高位添逻辑右移时,低位移出,高位添0;2、算术移位、算术移位正数:正数:同逻辑移位。同逻辑移位。负数:负数:原码:符号位不变,数值部分空出的位添原码:符号位不变,数值部分空出的位添0补码:符号位不变,补码:符号位不变,左移时,数值部分空出的位添左移时,数值部分空出的位添0右移时,数值部分空出的位添右移时,数值部分空出的位添1反码:符号位不变,数值部分空出的位添反码:符号位不变,数值部分空出的位添1注意:算术左移时,若改变

14、符号位,则溢出。未改变时,相注意:算术左移时,若改变符号位,则溢出。未改变时,相当于乘以当于乘以2。移位操作举例移位操作举例例:已知例:已知x补补=0.1011,y补补=1.1011,求算术左移、,求算术左移、算术右移、逻辑左移和逻辑右移后的结果。算术右移、逻辑左移和逻辑右移后的结果。解答:(解答:(1)算术左移:)算术左移:x补补=1.0110(溢出)(溢出)y补补=1.0110(2)算术右移:)算术右移:x补补=0.0101y补补=1.1101(3)逻辑左移:)逻辑左移:x补补=1.0110y补补=1.0110(4)逻辑右移:)逻辑右移:x补补=0.0101y补补=0.1101浮点数:小数

15、点位置可变。浮点数:小数点位置可变。2(5)浮点数的表示范围)浮点数的表示范围由浮点数由浮点数N=ReM,可见浮点数由阶码,可见浮点数由阶码e和尾数和尾数M两部分两部分组成。组成。1)阶码是整数,阶符和阶码的位数)阶码是整数,阶符和阶码的位数m合起来反映合起来反映浮点数的表示范围及小数点的实际位置;浮点数的表示范围及小数点的实际位置;2)尾数是小数,其位数)尾数是小数,其位数n反映了浮点数的精度。反映了浮点数的精度。具体举例见后。具体举例见后。字符串形式字符串形式:一个字节存放一个十进制的数位或符:一个字节存放一个十进制的数位或符号位。为了指明这样一个数,需要给出该数在主号位。为了指明这样一个

16、数,需要给出该数在主存中的起始地址和位数存中的起始地址和位数(串的长度串的长度)。压缩的十进制数串形式压缩的十进制数串形式:一个字节存放两个十进制:一个字节存放两个十进制的数位。它比前一种形式节省存储空间,又便于的数位。它比前一种形式节省存储空间,又便于直接完成十进制数的算术运算,是广泛采用的较直接完成十进制数的算术运算,是广泛采用的较为理想的方法。为理想的方法。十进制数串的表示方法十进制数串的表示方法32 2、真值和机器数是对于、真值和机器数是对于 而言的。而言的。A.A.无符号数无符号数 B.B.有符号数有符号数B.有符号数有符号数3 3、什么是真值和机器数?、什么是真值和机器数?问题:问

17、题:预备知识预备知识答:答:真值真值用正负号表示的实际值,用各种进制均可用正负号表示的实际值,用各种进制均可以表示。以表示。机器数机器数用固定长度的二进制编码表示实际值(包用固定长度的二进制编码表示实际值(包括正负号)。括正负号)。2.1.2数的机器码表示数的机器码表示重点:重点:1:原码、反码、补码、移码的表示形式:原码、反码、补码、移码的表示形式2:补码的定义:补码的定义3:原码、反码、补码、移码的表示范围:原码、反码、补码、移码的表示范围定点小数的原码定义:定点小数的原码定义:x0 x1【x】原原1-x1+|x|-1x0定点整数的原码定义:定点整数的原码定义:x0 x2n【x】原原2n-

18、x2n+|x|-2nx0原码的表示原码的表示1特点:特点:1)0有两种表示法:有两种表示法:+0原原=0000-0原原=10002)表示范围)表示范围定点小数:定点小数:-1X1定点整数定点整数:-2nX2n(若(若n=3即:即:-8X8)问题:当问题:当-1X0时,时,X原原=。A.1-xB.xC.2+xD.(2-2-n)-|x|A原码的表示原码的表示1定点小数的反码定义:定点小数的反码定义:x0 x1【x】反反(22-n)x-1x0定点整数的反码定义:定点整数的反码定义:x0 x2n【x】反反(2n11)x-2nx0反码的表示反码的表示2特点:特点:1)原码求反码方法:)原码求反码方法:正

19、数:正数:x原原=x反反=x负数:负数:符号位不变,其余各位变反符号位不变,其余各位变反2)表示范围)表示范围定点小数:定点小数:-1X1定点整数定点整数:-2nX2n(若(若n=3即:即:-8X8)问题:问题:8位反码表示定点整数的最小值为位反码表示定点整数的最小值为=,最大值为,最大值为。-127+127反码的表示反码的表示2现在是北京时间现在是北京时间3点整,而时钟却指向点整,而时钟却指向5点。点。5-2=35+10=3(12自动自动丢失。丢失。12就是模)就是模)定点补码表示法定点补码表示法w继续推导:继续推导:5-2=5+10(MOD12)5+(-2)=5+10(MOD12)-2=1

20、0(MOD12)w结论:结论:可以说:在模为可以说:在模为12的情况下,的情况下,-2的补码就是的补码就是10。一个负数用其补码代替,同样可以得到正确的运算一个负数用其补码代替,同样可以得到正确的运算结果。结果。定点补码表示法w进一步结论:进一步结论:在计算机中,机器能表示的数据位数是一定的,在计算机中,机器能表示的数据位数是一定的,其运算都是有模运算。如果是其运算都是有模运算。如果是n位整数,其模为位整数,其模为2n。若为小数则其模为若为小数则其模为2。若运算结果超出了计算机所能表示的数值范围,若运算结果超出了计算机所能表示的数值范围,则只保留它的小于模的低则只保留它的小于模的低n位的数值,

21、超过位的数值,超过n位的高位位的高位部分就自动舍弃了。部分就自动舍弃了。定点补码表示法定点小数的补码定义:定点小数的补码定义:x0 x1【x】补补2x2|x|-1x0定点整数的补码定义:定点整数的补码定义:x0 x2n【x】补补2n1x2n1|x|-2nx0补码的表示补码的表示3由于正数的补码是自身,所以主要讲由于正数的补码是自身,所以主要讲负数求补负数求补码码的方法。的方法。(1)由定义求)由定义求例:例:X补补=2+X=10+(-0.1101001)=1.0010111求补码的几种方法求补码的几种方法例例:X=-1101001解解:X补补=28+X=100000000+(-1101001)

22、=10010111反过来,由补码求真值,只要将公式进行交换即可反过来,由补码求真值,只要将公式进行交换即可。(2)由原码求补码)由原码求补码除符号位以外,其余各位求反,末位加除符号位以外,其余各位求反,末位加1。例:例:X=-0.0101011解解:X补补=1 1 0 1 0 1 0 0+1 1 1 0 1 0 1 0 1由补码求由补码求原码,此原码,此规则同样规则同样适用适用。X原原=1 0 1 0 1 0 1 1 w由原码求补码的简便原则:除符号位以外除符号位以外,其余各位按位取反其余各位按位取反,从最低位开始遇到的第一个从最低位开始遇到的第一个1 1以前的各位以前的各位保持不变。保持不变

23、。例:例:X原原=1 1 0 1 1 0 1 0 0X补补=1 0 1 0 0 11 0 0 由由-X补补求求X补补,此规则同此规则同样适用样适用。(3)由)由X补补求求-X补补:连符号位一起各位求反,连符号位一起各位求反,末位加末位加1。例:例:X补补=1.1010101解解:X补补=1 1 0 1 0 1 0 1-X补补=0 0 1 0 1 0 1 0+1 0 0 1 0 1 0 1 1(4)由由X补补求求1/(2X)补补:将将X补补的符号位和数值的符号位和数值位一起向右移动一次。符号位移走后保持原位一起向右移动一次。符号位移走后保持原来的值不变。来的值不变。例例:X补补=10011000

24、X/2补补=101010001这称为这称为“算算术移位术移位”你会求你会求X/4补补和和X/8补补吗吗?特点:特点:1)0有唯一的表示法:有唯一的表示法:X补补=0000(X补补=1000的真值为的真值为8)2)表示范围)表示范围定点小数:定点小数:-1X1定点整数定点整数:-2nX2n(即:(即:-8X8)3)X+Y补补=X补补Y补补(模模2)(针对小数)(针对小数)该结论为电路实现提供了依据。即任何、运算均该结论为电路实现提供了依据。即任何、运算均可变为加法,无需区分符号位,只要不溢出,即是正确结可变为加法,无需区分符号位,只要不溢出,即是正确结果。果。4)算术右移时,只要保持原符号位不变

25、,即可实现除法。)算术右移时,只要保持原符号位不变,即可实现除法。如如X=-0.0110则则X补补=11010 x/2补补=11101即即-0.0011(真值真值)补码的表示补码的表示3 5)为判断是否溢出,也可用变形补码为判断是否溢出,也可用变形补码X0 x1X补补=4+X-1x0符号位从符号位从00到到11有有4种状态种状态两符号位相同无溢出两符号位相同无溢出:00为正为正,11为负为负两符号位不同为溢出两符号位不同为溢出:01为上溢为上溢,两正数相加溢出两正数相加溢出10为下溢为下溢,两负数相加溢出两负数相加溢出6)原码求补码原码求补码正数正数x补补=x原原=x负数负数符号位不变,其余按

26、位求反后再在末位加符号位不变,其余按位求反后再在末位加17)补码求原码补码求原码x补补补补=x原原补码的表示补码的表示3移码通常用于表示浮点数的阶码。移码通常用于表示浮点数的阶码。由于阶码是个由于阶码是个n位的整数,所以移码的传统定义为:位的整数,所以移码的传统定义为:【x】移移2nx-2nx2n比如,若阶码数值部分为比如,若阶码数值部分为5位,则位,则【x】移移25x当当x10101时,时,【x】移移1,10101当当x10101时,时,【x】移移25101010,01011移码的表示移码的表示4 特点:特点:1)0有唯一的移码:有唯一的移码:0移移=0移移=10002)最高位为符号位,)最

27、高位为符号位,1表示正,表示正,0表示负表示负3)与)与x补的区别,只需将符号位变反即可,注意:传统补的区别,只需将符号位变反即可,注意:传统定义和定义和IEEE754定义不同。定义不同。4)用移码表示便于比较数的大小,移码大真值就大,移)用移码表示便于比较数的大小,移码大真值就大,移码小真值就小。码小真值就小。移码的表示移码的表示4举例举例5【例例1】将十进制数将十进制数-54表示成二进制定点数表示成二进制定点数(16位位)和浮点数(和浮点数(16位,其中位,其中数值部分数值部分10位,阶码部分位,阶码部分4位,阶符和数符各取位,阶符和数符各取1位),并写出它在定位),并写出它在定点机和浮点

28、机中的机器数形式。点机和浮点机中的机器数形式。解:令 x=-54 即 x=-(32+16+4+2)二进制形式:x=-110110 定点数表示:x=-0000110110 浮点数规格化表示:x=-(0.1101100000)2110 定点机器数形式:x原:1 000 0000 0011 0110 x补:1 111 1111 1100 1010 x反:1 111 1111 1100 1001 浮点机器数形式:x原:0 0110 1 11 0110 0000 x补:0 0110 1 00 1010 0000 x反:0 0110 1 00 1001 1111【例例2】(浙江大学试题)(浙江大学试题)计

29、算机储存程序的特点之一是把数据和指令都作为二进制信计算机储存程序的特点之一是把数据和指令都作为二进制信号看待。今有一计算机字长号看待。今有一计算机字长32bit,数符位是第,数符位是第31bit;单精;单精度浮点数格式如图所示。度浮点数格式如图所示。对于二进制数10001111111011111100000000000000 表示一个补码整数,其十进制值是多少?表示一个无符号整数,其十进制值是多少?表示一个IEEE754标准的单精度浮点数,其值是多少?8位位23位位3130232205举例举例【解答解答】对于二进制数1000 1111 1110 1111 1100 0000 0000 0000

30、 表示一个补码整数,其对应的原码是 1111 0000 0001 0000 0100 0000 0000 0000 其十进制值是-(230+229+228+220+216)表示一个无符号整数,其十进制值是 231+227+226+225+224+223+222+221+219+218+217+216+215+214 表示一个IEEE754标准的单精度浮点数,其阶码是0001 1111,指数e阶码1270001 11110111 1111-1100000(-96)10 包含隐藏位1的尾数1.M=1.110 1111 1100 0000 0000 0000 =1.110 1111 11 单精度浮点

31、数值为:X(-1)s1.M2e-(1.110 1111 11)2-96 -(0.1110 1111 11)2-95 -(1416-11516-21216-3)2-95 -0.31152-95 举例举例5【例例3】以定点整数为例以定点整数为例,用数轴形式说明原码、反码、用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。补码表示范围和可能的数码组合情况。设设n=8则则:原码原码:正数正数:0000 0000(+0)0111 1111(+127)共共128个个负数负数:1000 0000(-0)1111 1111(-127)共共128个个共共256个个 一个字节一个字节8位位(即即n=8)

32、共能表示共能表示256个数个数即:即:-127127反反码码:正数正数:0000 0000(+0)0111 1111(+127)共共128个个负数负数:1111 1111(-0)1000 0000(-127)共共128个个共共256个个 一个字节一个字节8位位(即即n=8)共能表示共能表示256个数个数即:即:-127127补补码码:正数正数:0000 0000(+0)0111 1111(+127)共共128个个负数负数:1111 1111(-1)1000 0001(-127)共共127个个共共255个个 一个字节一个字节8位位(即即n=8),共能表示,共能表示256个数个数多出多出1000

33、0000表示表示-128-128补补=1000 0000举例举例5【例例4】将十进制真值将十进制真值(127,1,0,1,127)列表列表表示成表示成8位二进制数及原码、反码、补码、移码值。位二进制数及原码、反码、补码、移码值。举例举例5【例例5】设机器字长设机器字长16位位,定点表示定点表示,尾数尾数15位位,数符数符1位位,问:问:(1)定点原码整定点原码整数表示时数表示时,最大正最大正数是多少数是多少?最小最小负数是多少负数是多少?(2)定点原码定点原码小数表示时小数表示时,最大最大正数是多少正数是多少?最最小负数是多少小负数是多少?数的机器码数的机器码1.数的原码、反码和补码表示范围。

34、数的原码、反码和补码表示范围。假设总共有假设总共有n+1位(位(1位符号位、位符号位、n位数值位)位数值位)定点整数:定点整数:最大正数:最大正数:2n1(原码原码)最小负数:最小负数:-(2n1)定点整数:定点整数:最大正数:最大正数:2n1(补码补码)最小负数:最小负数:-2n定点小数:定点小数:最大正数:最大正数:12n(原码原码)最小负数:最小负数:-(12n)定点小数:定点小数:最大正数:最大正数:12n(补码补码)最小负数:最小负数:101111111110111110000011111111101111100002009考研真题12.一个C语言程序在一台32位机器上运行。程序中定

35、义了三个变量x,y和z,其中x和z是int型,y为short型。当x=127,y=-9时,执行赋值语句z=x+y后,x、y和z的值分别是:DA.x=0000007FH,y=FFF9H,z=00000076HB.x=0000007FH,y=FFF9H,z=FFFF0076HC.x=0000007FH,y=FFF7H,z=FFFF0076HD.x=0000007FH,y=FFF7H,z=00000076H 举例举例5【例例6】假设由假设由S,E,M三个域组成的一个三个域组成的一个32位二进制字所表示位二进制字所表示的非零规格化浮点数的非零规格化浮点数,真值表示为:真值表示为:问:它所表示的规格化的

36、最大正数、最小正数、最大负数、问:它所表示的规格化的最大正数、最小正数、最大负数、最小负数是多少?最小负数是多少?【例题例题7】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数为位(含符号位),尾数为10位(含符位(含符号位),阶码采用补码表示,尾数采用原码表示,分析其浮点号位),阶码采用补码表示,尾数采用原码表示,分析其浮点数表示范围。数表示范围。【解答解答】1)最大正数)最大正数非规格化数形式:非规格化数形式:最大正数为最大正数为0.1112111即(即(129)231规格化数形式:规格化数形式:最大正数为最大正数为0.1112111即(即(129)23101101115195举例举例2

37、)最小正数)最小正数当为非规格化数原码时当为非规格化数原码时:最小正数为最小正数为0.0012000即即2(25)29=2-3229规格化原码时规格化原码时:(与(与不同)不同)最小正数为最小正数为0.00121即即2(25)2123310001001519100000115193)最小负数)最小负数 非规格化原码时非规格化原码时:最小负数为最小负数为0.1112111即即2(251)(129)=231(129)规格化原码时规格化原码时:(与(与相同)相同)最小负数为最小负数为0.1112111即即2(251)(129)=231(129)0111111m1n0111111m1n4)最大负数)最

38、大负数 非规格化原码时非规格化原码时:最大负数为最大负数为0.001200.0即即2(25)29=2-3229规格化原码时规格化原码时:(与(与不同)不同)最大负数为最大负数为0.00121即即2(25)21=2-322110011001m1n10010011m1n【例题例题8】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数为位(含符号位),尾数为10位(含符号位),阶码和尾数均采用补码表示,位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。分析其规格化浮点数表示范围。【解答解答】1)最大正数最大正数即:阶码最大、尾数最大即:阶码最大、尾数最大最大正数为最大正数为0.1

39、112111即(即(129)23101101115195举例举例2)最小正数)最小正数最小正数为最小正数为0.1000232即即2-32212-33注意:注意:不是不是因为因为0.012-32不是规格化数。不是规格化数。100010001519100000115193)最小的负数)最小的负数 最小负数为最小负数为1.000231即即231(1)=2314)最大的负数)最大的负数最大负数为最大负数为0.1001232即(即(29+21)232注意:不是注意:不是01110015191001011151910011111519浮点数表示范围总结浮点数表示范围总结若某机字长为若某机字长为m+n位,其

40、中位,其中阶码阶码m位位(含一位符号位),(含一位符号位),尾数尾数n位位(含一位符号位),设(含一位符号位),设a=2m-11,b=2m-1,则规格化数所,则规格化数所能表示的范围为:能表示的范围为:u最大正数最大正数:(12-(n-1))2au最小正数:最小正数:212bu最大负数:最大负数:(2-(n-1)+21)2bu最小负数:最小负数:(1)2a例如:例如:m=8,n=24,则设则设a=127,b=-128,则表示范围是:,则表示范围是:最大正数最大正数:(12-23)2127最小正数:最小正数:212-128最大负数:最大负数:(2-23+21)2-128最小负数:最小负数:(1)

41、21272.1.3字符和字符串的表示方法字符和字符串的表示方法ASCII码码(美国国家信息交换标准字符码美国国家信息交换标准字符码)包括包括128个元素个元素,因此二进制编码需因此二进制编码需7位位,加一位偶校加一位偶校验位验位,共共8位一个字节。位一个字节。ASCII码规定码规定8个二进制位的最高一位为个二进制位的最高一位为0,余下的余下的7位可以给出位可以给出128个编码。个编码。字符串字符串指连续的一串字符指连续的一串字符,每个字节存一个字符。当主存每个字节存一个字符。当主存字由字由2个或个或4个字节组成时个字节组成时,在同一个主存字中在同一个主存字中,既可既可按从低位字节向高位字节的顺

42、序存放字符串的内容按从低位字节向高位字节的顺序存放字符串的内容,也可按从高位字节向低位字节的次序顺序存放字符也可按从高位字节向低位字节的次序顺序存放字符串的内容。串的内容。2.1.4汉字的表示方法汉字的表示方法1.汉字的输入编码汉字的输入编码目的:为了能直接使用西文标准键盘把汉字输入目的:为了能直接使用西文标准键盘把汉字输入到计算机到计算机。分类:主要有三类,分别是数字编码、拼音码分类:主要有三类,分别是数字编码、拼音码、字形编码字形编码2.汉字内码汉字内码用于汉字信息的存储、交换、检索等操作的机内用于汉字信息的存储、交换、检索等操作的机内代码代码3.汉字字模码汉字字模码用点阵表示的汉字字形代

43、码用点阵表示的汉字字形代码,用于汉字的输出。用于汉字的输出。显示输出显示输出打印输出打印输出机内码向字模码转换机内码向字模码转换机内码机内码输入码向机内码转换输入码向机内码转换中文编码字符代码化(输入)字符代码化(输入)数字码数字码拼音码拼音码字形码字形码2.1.5校验码(数据校验)校验码(数据校验)数据校验原因数据校验原因:为减少和避免数据在计算机系统运行或传:为减少和避免数据在计算机系统运行或传送过程中发生错误,在数据的编码上提供了检错和纠错的送过程中发生错误,在数据的编码上提供了检错和纠错的支持。支持。定义定义:这种能够发现某些错误或具有自动纠错能力的数据:这种能够发现某些错误或具有自动

44、纠错能力的数据编码称为数据校验码或检错码。编码称为数据校验码或检错码。数据校验的数据校验的基本原理基本原理是扩大码距。是扩大码距。码距码距:根据任意两个合法码之间至少有几个二进制位不相:根据任意两个合法码之间至少有几个二进制位不相同而确定的,仅有一位不同,称其码距为同而确定的,仅有一位不同,称其码距为1。举例举例:用四位二进制表示用四位二进制表示16种状态,则种状态,则16种编码都用到种编码都用到了,此时码距为了,此时码距为1,就是说任何一种状态的四位码中的一,就是说任何一种状态的四位码中的一位或几位出错,就变成另一个合法码,此时无查错能力。位或几位出错,就变成另一个合法码,此时无查错能力。若

45、用四位二进制表示若用四位二进制表示8个状态,就可以只用其中的个状态,就可以只用其中的8种编种编码,而把另码,而把另8种编码作为非法编码,此时码距为种编码作为非法编码,此时码距为2。原理原理:在每组代码中:在每组代码中增加增加1个冗余位个冗余位,使合法编码的最,使合法编码的最小码距由小码距由1增加到增加到2。如果合法编码中有奇数个位发生了错。如果合法编码中有奇数个位发生了错误,这个编码就将成为非法的代码。增加的冗余位称为奇误,这个编码就将成为非法的代码。增加的冗余位称为奇偶校验位。偶校验位。(1)校验码的构成规则)校验码的构成规则偶校验:每个码字偶校验:每个码字(包括校验位包括校验位)中中1的数

46、目为偶数。的数目为偶数。奇校验:每个码字奇校验:每个码字(包括校验位包括校验位)中中1的数目为奇数。的数目为奇数。(2)校验位的形成)校验位的形成设有效信息为设有效信息为D7D6D5D4D3D2D1D0,则,则偶校验:在发送端求校验位偶校验:在发送端求校验位P=D7D6D5D4D3D2D1D0奇校验:在发送端求校验位奇校验:在发送端求校验位P=D7D6D5D4D3D2D1D0奇偶校验码奇偶校验码1(3)校验原理)校验原理偶校验:在接收端求校验位偶校验:在接收端求校验位P=D7D6D5D4D3D2D1D0P奇校验:在接收端求校验位奇校验:在接收端求校验位P=D7D6D5D4D3D2D1D0P若若

47、P0,则无错;若,则无错;若P1,则有错。,则有错。一般采用异或电路得到校验位。这种方式只能发现奇一般采用异或电路得到校验位。这种方式只能发现奇数个错误,且不能纠正错误。数个错误,且不能纠正错误。奇偶校验码奇偶校验码1如如10101011求校验码求校验码偶校验码偶校验码101010111奇校验码奇校验码101010110字字校验位校验位校验码校验码例例1:数据数据 0010 0001 0111 0101奇校验码奇校验码0010 0001 1偶校验码偶校验码0010 0001 00111 0101 00111 0101 1例例2:数据:数据 :0111 0101偶校验码偶校验码 0111 010

48、1 1发送端发送端(门电路)(门电路)0110 01010接收端接收端出错出错例例3:数据:数据 :0111 0101奇校验码奇校验码 0111 0101 0发送端发送端(门电路)(门电路)0110 0111 0接收端接收端正确正确奇偶校验只能发现奇偶校验只能发现奇数个错误,且不能奇数个错误,且不能纠正错误!纠正错误!原理原理:将有效信息按某种规律分成若干组,每组安排一:将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶测试。在一个数据位组中加入几个校验位,个校验位进行奇偶测试。在一个数据位组中加入几个校验位,增加数据代码间的码距,当某一位发生变化时会引起校验结增加数据代码间的码距,当

49、某一位发生变化时会引起校验结果发生变化,不同代码位上的错误会得出不同的校验结果。果发生变化,不同代码位上的错误会得出不同的校验结果。海明码能检测出错误,并能纠正海明码能检测出错误,并能纠正1位错误。位错误。2位位1、求海明码的步骤、求海明码的步骤(1)确定海明校验位的位数)确定海明校验位的位数设设K为有效信息的位数,为有效信息的位数,r为校验位的位数,则整个码字的为校验位的位数,则整个码字的位数位数N应满足不等式:应满足不等式:NKr 2r1通常用(通常用(N,K)表示)表示若要求海明码能检测出若要求海明码能检测出2位错误,则再增加位错误,则再增加1位校验位。位校验位。海明码海明码2问题问题:

50、(7,4)海明码表示的码字长度为海明码表示的码字长度为,校验位数为,校验位数为。73(2)确定校验位的位置)确定校验位的位置位号位号(1N)为为2的权值的那些位,即的权值的那些位,即20,21,22,2r1的位置作为校验位,记作的位置作为校验位,记作P1,P2,Pr,余下的为有效,余下的为有效信息位。信息位。(3)分组)分组将将N位分位分r组,第组,第i位由校验位号之和等于位由校验位号之和等于i的那些校验位所的那些校验位所校验。校验。(4)校验位的形成)校验位的形成P1第一组中所有位第一组中所有位(除除P1)求异或求异或P2第二组中所有位第二组中所有位(除除P2)求异或求异或,Pr第第r组中所

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 施工组织

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁