




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第2章 运算方法和运算器2022年5月3日星期二2目录目录2.0 数据的类型数据的类型2.1 数据与文字的表示方法数据与文字的表示方法 (掌握)(掌握)2.2 定点加法、减法运算定点加法、减法运算 (掌握)(掌握)2.3 定点乘法运算定点乘法运算 (理解)(理解)2.4 定点除法运算定点除法运算 (了解)(了解)2.5 定点运算器的组成定点运算器的组成 (了解)(了解)2.6 浮点运算方法和浮点运算器浮点运算方法和浮点运算器(理解)(理解)2022年5月3日星期二32.0 数据的类型(数据的类型(1/2)l按数制分:按数制分:十进制:在微机中直接运算困难;十进制:在微机中直接运算困难;二进制:
2、占存储空间少,硬件上易于实现,易于运算;二进制:占存储空间少,硬件上易于实现,易于运算;十六进制:方便观察和使用;十六进制:方便观察和使用;l按数据格式分:按数据格式分:真值:没有经过编码的直观数据表示方式;真值:没有经过编码的直观数据表示方式;u带正负号的数据,任何数制均可;带正负号的数据,任何数制均可;机器数:符号化后的数值表示;机器数:符号化后的数值表示;u符号也被编码,不能随便忽略任何位置上的符号也被编码,不能随便忽略任何位置上的0或或1 ;u位数固定,一般为字节整倍数,如位数固定,一般为字节整倍数,如8位、位、16位、位、32位位;u可用原码、反码、补码、移码等形式编码;可用原码、反
3、码、补码、移码等形式编码;2022年5月3日星期二42.0 数据的类型(数据的类型(2/2)l按数据的表示范围分:按数据的表示范围分:定点数定点数u小数点位置固定,数据表示范围小;小数点位置固定,数据表示范围小;浮点数浮点数u小数点位置不固定,数据表示范围较大。小数点位置不固定,数据表示范围较大。l按能否表示负数分:按能否表示负数分:无符号数无符号数u数据所有位均为表示数值,只能表示正数;数据所有位均为表示数值,只能表示正数;有符号数有符号数u有正负之分,最高位为符号位,其余位表示数值。有正负之分,最高位为符号位,其余位表示数值。2022年5月3日星期二52.1 数据与文字的表示方法数据与文字
4、的表示方法l2.1.1 数据格式(定点数表示)数据格式(定点数表示)l2.1.2 数的机器码表示数的机器码表示l2.1.1 数据格式(浮点数表示)数据格式(浮点数表示)l2.1.3 字符与字符串的表示方法字符与字符串的表示方法l2.1.4 汉字的表示方法汉字的表示方法l2.1.5 校验码校验码 2022年5月3日星期二6l定点数:小数点固定在某一位置的数据;定点数:小数点固定在某一位置的数据;纯小数:纯小数:u表示形式表示形式 有符号数有符号数 x=xSx-1x-2x-n |x|1-2-n ;xs为符号位为符号位无符号数无符号数 x=x0 x-1x-2x-n 0 x 1-2-n ;x0=0u数
5、据表示范围数据表示范围 0.00= 0 |x| 1-2-n = 0.11纯整数:纯整数:u表示形式表示形式 有符号数有符号数 x=xs x n-1 x 1 x 0 |x|2n-1 ;xs为符号位为符号位 无符号数无符号数 x=xn x n-1 x 1 x 0 0 x2n+1-1 ;xn为数值位为数值位l注意:小数点的位置是机器约定好的,并没有实际的保存。注意:小数点的位置是机器约定好的,并没有实际的保存。x0 x-1x-2x-3 x-n xnxn-1xn-2x1x02.1.1 数据格式数据格式定点数定点数 设采用设采用n+1位数据位数据2022年5月3日星期二7定点机的特点定点机的特点l所能表
6、示的数据范围小所能表示的数据范围小l数据精度较低数据精度较低l存储单元利用率低存储单元利用率低2022年5月3日星期二82.1.2 数的机器码表示数的机器码表示l重点:重点:1、原码、补码、移码的表示形式、原码、补码、移码的表示形式2、补码的定义、补码的定义3、原码、补码、移码的表示范围、原码、补码、移码的表示范围2022年5月3日星期二91、原码表示法、原码表示法定义定义l定义:定义:定点小数:定点小数:x原原定点整数:定点整数:x原原l举例:举例:+0.110 原原 0.110-0.110原原 1 - (-0.110) = 1.110+110原原 0110-110原原 23- (-110)
7、 1000 +110 = 1110 x1 x 01- x=1+|x| 0 x -1x2n x 02n- x=2n+|x| 0 x -2n实际机器中保存时实际机器中保存时并不保存小数点并不保存小数点2022年5月3日星期二101、原码表示法、原码表示法特点特点l0有两种表示法有两种表示法+0原原 = 0000 ; -0原原 = 1000l数据表示范围数据表示范围定点小数:定点小数:-1X1定点整数定点整数: -2nX2n (若数值位(若数值位n=3,即:,即:-8X x 02+x = 2 - |x| 0 x -1x 2n x 02n+1+x = 2n+1-|x| 0 x -2nx为为n+1位位(
8、mod 2)(mod 2n+1)实际机器中保存时实际机器中保存时并不保存小数点并不保存小数点2022年5月3日星期二152、补码表示法、补码表示法特点特点l特殊数据的表示特殊数据的表示0的唯一编码:的唯一编码:-0补补 24+(-0) mod 240000+0补补原码中用于表示原码中用于表示-0的编码的编码100,补码中表示负的最小值;,补码中表示负的最小值;l数据表示范围数据表示范围定点小数:定点小数:-1X1定点整数定点整数: -2nX2n (若(若数值位数值位n=3,则,则-8X x -2nl与与x补补的区别:的区别:符号位相反符号位相反l优点:优点:可以比较直观地判断两个数据的大小;可
9、以比较直观地判断两个数据的大小;u浮点数运算时,容易进行对阶操作;浮点数运算时,容易进行对阶操作;表示浮点数阶码时,容易判断是否下溢;表示浮点数阶码时,容易判断是否下溢;u当阶码为全当阶码为全0时,浮点数下溢。时,浮点数下溢。真值真值补码补码移码移码-8-7-60+1+74位补码与移码位补码与移码0000000100101000100111111000100110100000000101112022年5月3日星期二19原、补、移码的编码形式原、补、移码的编码形式l原码和补码原码和补码正数:正数:u原、补码的编码完全相同;原、补码的编码完全相同;负数:负数:u 符号位为符号位为1;u数值部分与原
10、码各位相反,且末位加数值部分与原码各位相反,且末位加1;l补码和移码补码和移码无论正数还是负数:无论正数还是负数:u符号位相反,数值位相同;符号位相反,数值位相同;2022年5月3日星期二20课本课本P22例例6以定点整数为例以定点整数为例,用数轴形式说明原码、补码、用数轴形式说明原码、补码、移码表示范围和可能的数位组合情况。移码表示范围和可能的数位组合情况。2022年5月3日星期二21课本课本P22例例7将十进制真值将十进制真值(127,1,0,1,127)列表列表表示成二进制数及原码、反码、补码、移码值。表示成二进制数及原码、反码、补码、移码值。十进制真十进制真值值二进制真二进制真值值原码
11、表示原码表示反码表示反码表示补码表示补码表示移码表示移码表示-127-10+1+127-111 11111111 1111 1000 0000 1000 0001 0000 0001-000 0001 1000 0001 1111 1110 1111 1111 0111 1111+000 0000-000 00000000 0000 0000 00001000 0000 1111 11110000 00001000 0000+000 0001 0000 0001 0000 0001 0000 0001 1000 0001+111 1111 0111 1111 0111 1111 0111 11
12、11 1111 11112022年5月3日星期二22P22例例8设机器字长设机器字长16位,定点表示,数值位,定点表示,数值15位,数符位,数符1位,问:位,问: (1)定点原码整数表示时,最大正数是多少?最小负数是多少?定点原码整数表示时,最大正数是多少?最小负数是多少? (2)定点原码小数表示时,最大正数是多少?最小负数是多少?定点原码小数表示时,最大正数是多少?最小负数是多少?0111 1111 1111 11111111 1111 1111 11110111 1111 1111 11111111 1111 1111 1111(215-1) = +32767-(215-1) = -327
13、67(1-2-15) = +(1-1/32768)-(1-2-15) = -(1-1/32768)l定点原码整数定点原码整数最大正数最大正数最小负数最小负数l定点原码小数定点原码小数最大正数最大正数最小负数最小负数若用补码表示呢?若用补码表示呢?最小正数、最大最小正数、最大负数各是多少呢?负数各是多少呢?2022年5月3日星期二232.1.1 数据格式数据格式浮点数浮点数l浮点数:小数点位置可变,形如浮点数:小数点位置可变,形如科学计数法科学计数法中的数据表示。中的数据表示。l浮点数格式定义:浮点数格式定义: N= Re MM:尾数:尾数(mantissa),是一个,是一个纯小数纯小数,表示数
14、据的全部有效数,表示数据的全部有效数位,位,其位数决定着数值的精度其位数决定着数值的精度;R:基数:基数(radix) ,可以取,可以取2、8、10、16,表示当前的数制;,表示当前的数制;u微机中,一般默认为微机中,一般默认为2,隐含表示。,隐含表示。e: 阶码阶码(exponent) ,是一个,是一个整数整数,用于指出小数点在该数,用于指出小数点在该数中的位置,中的位置,其位数决定着数据的取值范围其位数决定着数据的取值范围。l机器数的一般表示形式机器数的一般表示形式阶符阶符阶码阶码数符数符尾数尾数数符数符阶符阶符阶码阶码尾数尾数课本课本P172022年5月3日星期二24科学计数法的表示科学
15、计数法的表示l一个十进制数可以表示成不同的形式:一个十进制数可以表示成不同的形式:l同理,一个二进制数也可以有多种表示:同理,一个二进制数也可以有多种表示:3310()123.456123456 100.123456 10N1001002()1101.001111010011 20.1101.0011 2N2022年5月3日星期二25浮点数举例浮点数举例l请将数据请将数据-12.625D用用16位的浮点数形式表示。位的浮点数形式表示。数据格式如下,阶码(含阶符)数据格式如下,阶码(含阶符)4位,尾数(含数符)位,尾数(含数符)12位位l-12.625D = -1100.101 B = -0.1
16、100 10124 Bl设尾数用原码表示,阶码用补码表示;设尾数用原码表示,阶码用补码表示;浮点数表示为:浮点数表示为: 0 100 ; 1.110 0101 0000l设尾数用补码表示,阶码用移码表示;设尾数用补码表示,阶码用移码表示;浮点数表示为:浮点数表示为: 1 100 ; 1.001 1011 0000阶符阶符阶码阶码数符数符尾数尾数1位位3位位1位位11位位2022年5月3日星期二26浮点数规格化浮点数规格化l浮点数的表示浮点数的表示1.1120=0.11121=0.0011123l规格化的目的规格化的目的保证浮点数表示的唯一性;保证浮点数表示的唯一性;保留更多地有效数字,提高运算
17、的精度。保留更多地有效数字,提高运算的精度。l规格化要求:规格化要求:|尾数尾数|0.5;尾数原码表示:最高数值位为尾数原码表示:最高数值位为1,正数,正数0.1,负数,负数1.1 ;尾数补码表示:最高数值位和符号位相反,尾数补码表示:最高数值位和符号位相反,正数正数0.1,负数,负数1.0 ;u+0.1B补补=0.100 -0.1B补补=1.100 -0.1001B补补=1.0111 l规格化处理:规格化处理:尾数向左移尾数向左移n位位(小数点右移小数点右移),同时阶码减,同时阶码减n;尾数向右移尾数向右移n位位(小数点左移小数点左移),同时阶码加,同时阶码加n。右规右规左规左规2022年5
18、月3日星期二27浮点数的数据表示范围浮点数的数据表示范围0最大负数最大负数最小正数最小正数最小负数最小负数最大正数最大正数下溢区下溢区上溢区上溢区上溢区上溢区负数区负数区正数区正数区浮点数浮点数最小负数最小负数最大负数最大负数最小正数最小正数最大正数最大正数M取值取值负的最小值负的最小值负的最大值负的最大值正的最小值正的最小值正的最大值正的最大值E取值取值正的最大值正的最大值负的最小值负的最小值负的最小值负的最小值正的最大值正的最大值l浮点数的溢出:阶码溢出浮点数的溢出:阶码溢出上溢:阶码大于所能表示的最大值;上溢:阶码大于所能表示的最大值;下溢:阶码小于所能表示的最小值;下溢:阶码小于所能表
19、示的最小值;l机器零:机器零:尾数为尾数为 0,或阶码小于所能表示的最小值;,或阶码小于所能表示的最小值;2022年5月3日星期二28浮点数的最值浮点数的最值非规格化数据非规格化数据规格化数据规格化数据真值真值机器数机器数机器数机器数真值真值最小最小负数负数最大最大负数负数最小最小正数正数最大最大正数正数设浮点数格式为设浮点数格式为1位阶符位阶符m位阶码位阶码1位数符位数符n位尾数位尾数移码表示移码表示-2m,+(2m-1)补码表示补码表示-1,+(1-2-n)-12+( 2m-1 )-2-n2-2m+2-n2-2m+(1-2-n)2+(2m-1)1 111;1 00000 000;1 111
20、10 000;0 00011 111;0 1111同左同左同左同左0 000;1 0111 -(2-1+2-n)2-2m+2-12-2m同左同左同左同左0 000;0 10002022年5月3日星期二29【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码和尾数均采用补码表位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。l 最大正数最大正数 阶码最大、尾数最大阶码最大、尾数最大 最大正数为最大正数为0.1112111 (129)231l 最小正数最小正数 最小正数为最小正数为0.100
21、0232 即即2-3221 2-33 注意:注意:不是不是 u因为因为0.01 2-32不是规格化数。不是规格化数。0 1 1 0 1 11 5 1 9 1 0 0 0 10 001 5 1 9 1 0 0 0 0 011 5 1 9 2022年5月3日星期二30【例例1】设浮点数的阶码设浮点数的阶码6位(含符号位),尾数位(含符号位),尾数为为10位(含符号位),阶码和尾数均采用补码表位(含符号位),阶码和尾数均采用补码表示,分析其规格化浮点数表示范围。示,分析其规格化浮点数表示范围。l 最小的负数最小的负数 最小负数为最小负数为1.000231 即即231(1)= 231l 最大的负数最大
22、的负数 最大负数为最大负数为0.1001232 即(即( 29+ 21 )232 注意:因有规格化要求,不是注意:因有规格化要求,不是0 1 1 1 0 01 5 1 91 0 0 1 0 1 11 5 1 9 1 0 0 1 1 1 11 5 1 9 定点数与浮点数的定点数与浮点数的数据表示范围和精度比较数据表示范围和精度比较l以以16位数据为例,编码方式均采用补码表示位数据为例,编码方式均采用补码表示l定点数定点数定点整数:定点整数:-215+215-1 (即(即-32768+32767)定点小数:定点小数:-1+1-2-15 (即(即-1+0.999 9694 8242 1875)l浮点
23、数浮点数格式:格式:最大正数:最大正数:+111111121111111B最小正数:最小正数:+0.00000012-1111111B最大负数:最大负数:-0.00000012-1111111B最小负数:最小负数:-111111121111111B2022年5月3日星期二311位阶符位阶符7位阶码位阶码1位数符位数符7位尾数位尾数务必牢记务必牢记l浮点数的表示要浮点数的表示要与具体的格式规定与具体的格式规定有关;有关;l在做题时,要看题目里要求的浮点数格式和编在做题时,要看题目里要求的浮点数格式和编码表示;码表示;l一般机器中,浮点数采用一般机器中,浮点数采用IEEE754标准来存放标准来存放
24、float、double类型的变量;类型的变量;IEEE754标准只是浮点数的一种表示形式;标准只是浮点数的一种表示形式;2022年5月3日星期二322022年5月3日星期二33浮点数的浮点数的IEEE754标准表示标准表示lIEEE(Institute of Electrical and Electronics Engineers)美国电气及电子工程师学会美国电气及电子工程师学会IEEE致力于电气、电子、计算机工程和与科学有关的领域致力于电气、电子、计算机工程和与科学有关的领域的开发和研究,也是计算机网络标准的主要制定者。的开发和研究,也是计算机网络标准的主要制定者。 l为便于软件移植,按照
25、为便于软件移植,按照 IEEE754 标准,实际机器内标准,实际机器内32位浮点位浮点数和数和64位浮点数的标准格式如下:位浮点数的标准格式如下:022233031SEM2323位尾数,仅为数值部分位尾数,仅为数值部分8 8位阶码,包括阶符位阶码,包括阶符1 1位数符位数符3232位位浮点数浮点数051526263SEM6464位位浮点数浮点数高级语言中高级语言中的的floatfloat类型类型高级语言中的高级语言中的doubledouble类型类型2022年5月3日星期二3432位浮点数的位浮点数的IEEE754 标准表示标准表示l数符数符S:表示浮点数的符号,占表示浮点数的符号,占1 1位
26、,位,0 0正数、正数、1 1负数;负数;l尾数尾数M:2323位,原码纯小数表示,小数点在尾数域的最前面;位,原码纯小数表示,小数点在尾数域的最前面;由于原码表示的规格化浮点数要求,由于原码表示的规格化浮点数要求,最高数值位始终为最高数值位始终为1,因,因此该标准中隐藏最高数值位此该标准中隐藏最高数值位(1),尾数的实际值为,尾数的实际值为1.M;l阶码阶码E: 8 8位,采用有偏移值的移码表示;位,采用有偏移值的移码表示;移移127码,即码,即E=e+(27-1)=e+127;u标准标准8位移码应该是移位移码应该是移128码,码,x移移=x+27=x+128l浮点数的真值:浮点数的真值:N
27、=(-1)S(1.M)2E-127数符数符S阶码阶码E尾数尾数M2022年5月3日星期二35IEEE754 标准格式标准格式 (64位格式)位格式)其真值表示为:其真值表示为: x=(1)S(1.M)2E1023 eE10232022年5月3日星期二36IEEE754 标准的数据表示标准的数据表示lIEEE754 标准中的阶码标准中的阶码E正零、负零正零、负零uE与与M均为零,正负之分由数据符号确定;均为零,正负之分由数据符号确定;正无穷、负无穷正无穷、负无穷uE为全为全1,M为全零,正负之分由数据符号确定;为全零,正负之分由数据符号确定;阶码阶码E的其余值(的其余值(0000 0001111
28、1 1110)为规格化数据;)为规格化数据;u真正的指数真正的指数e的范围为的范围为-126+127l为避免浮点数下溢,允许采用为避免浮点数下溢,允许采用比最小规格化数还小的非规格化比最小规格化数还小的非规格化数数来表示,但此时尾数来表示,但此时尾数M前的隐含位为前的隐含位为0,而不是,而不是1。E=0000 0000,M=0000 0000E=1111 1111,M=0000 00000000 0000 1111 11112022年5月3日星期二37课本课本P18 例例1l例例1 若浮点数的若浮点数的754标准存储格式为标准存储格式为(41360000)16,求其浮,求其浮点数的十进制数值。
29、点数的十进制数值。 l解:解:(41360000)16 = 0100 0001 0011 0110 0000 0000 0000 0000指数指数e=E-127= 1000 0010 0111 1111=0000 0011=3尾数尾数1.M=1.011 0110 0000 0000 0000 0000=1.011011浮点数浮点数 N =(-1)S(1.M)2e = (-1)0(1. 011011)23 = (11.375)10数符数符S阶码阶码E尾数尾数M2022年5月3日星期二38课本课本P18 例例2l例例2 将将(20.59375)10转换成转换成754标准的标准的32位浮点数的二进制
30、存位浮点数的二进制存储格式。储格式。l解:解:(20.59375)10(10100.10011)2将尾数规范为将尾数规范为1.M的形式:的形式: 10100.100111.01001001124e4可得:可得:M 010010011 S 0E 41271311000 0011故,故,32位浮点数的位浮点数的754标准格式为:标准格式为: 0100 0001 1010 0100 1100 0000 0000 0000(41A4C000)16 2022年5月3日星期二39求解技巧求解技巧l将下列十进制数表示成将下列十进制数表示成IEEE754格式的格式的32位浮点数形式存储。位浮点数形式存储。(1
31、)27/32 (2)11/512l求解:求解:(1)27/32=27*(1/32) = (0001 1011)2*2-5u尾数:尾数:1.1011;阶码:阶码:e=-5+4=-1 ,E=e+127=126uIEEE754数据数据0 0111 1110 1011 0000 0000 0000 0000 000(2)11/512= (0000 1011)2*2-9u尾数:尾数:1.011;阶码:阶码:e=-9+3=-6 ,E=e+127=121uIEEE754数据数据0 0111 1001 0110 0000 0000 0000 0000 00C#中中float类型类型和和double类型类型数据
32、数据运算运算结果结果2022年5月3日星期二40C#中中float类型和类型和double类型数据类型数据lfloat和和double的精度是由尾数的位数来决定的;的精度是由尾数的位数来决定的;lfloat类型:类型:223 = 8388608;最多能有最多能有7位有效数字,但绝对能保证的为位有效数字,但绝对能保证的为6位;位;即即float的精度为的精度为67位;位;ldouble类型:类型:252 = 4503599627370496;最多能有最多能有16位有效数字,但绝对能保证的为位有效数字,但绝对能保证的为15位;位;即即double的精度为的精度为1516位;位;2022年5月3日星
33、期二412022年5月3日星期二42例:将十进制数例:将十进制数-54表示成表示成二进制定点数二进制定点数(16位位)和和浮点数浮点数(16位,其中数值部分位,其中数值部分10位,阶码部分位,阶码部分4位,阶符和数符各位,阶符和数符各取取1位位),并写出它在定点机和浮点机中的机器数形式。,并写出它在定点机和浮点机中的机器数形式。l令令 x = -54,则,则x = -110110l16位定点数真值表示:位定点数真值表示: x = -000 0000 0011 0110定点机器数形式定点机器数形式 x原原: x补补:l浮点数规格化表示:浮点数规格化表示:x = -(0.1101100000)21
34、10浮点机器数形式浮点机器数形式 x原原: x补补:32位位IEEE754标准:标准:x = -(1.101100000)21011 000 0000 0011 01101 111 1111 1100 10100 0110 ; 1 11 0110 00000 0110 ; 1 00 1010 0000数符数符S阶码阶码E尾数尾数M 1 1000 0100 1011 0000 0000 2022年5月3日星期二43课本课本P23例例9(类似(类似IEEE754标准的公式,但标准的公式,但阶码采用的是移阶码采用的是移128码)码)容易混淆,不用看!容易混淆,不用看!2022年5月3日星期二44浙江
35、大学考研试题浙江大学考研试题 计算机储存程序的特点之一是把数据和指令都作为二进制信号计算机储存程序的特点之一是把数据和指令都作为二进制信号看待。今有一计算机字长看待。今有一计算机字长32bit,数符位是第,数符位是第31bit;单精度浮;单精度浮点数格式如图所示。点数格式如图所示。 对于二进制数对于二进制数1000 1111 1110 1111 1100 0000 0000 0000 表示一个补码整数,其十进制值是多少?表示一个补码整数,其十进制值是多少? 表示一个无符号整数,其十进制值是多少?表示一个无符号整数,其十进制值是多少? 表示一个表示一个IEEE754标准的单精度浮点数,其值是多少
36、?标准的单精度浮点数,其值是多少?8位位23位位131 30 23 22 02022年5月3日星期二45二进制数二进制数1000 1111 1110 1111 1100 0000 0000 0000l 表示一个补码整数,其十进制值是多少?表示一个补码整数,其十进制值是多少?n作为补码整数,其对应的原码是作为补码整数,其对应的原码是1111 0000 0001 0000 0100 0000 0000 0000n十进制值是十进制值是 -(230+ 229 +228 + 220 + 214 )l 表示一个无符号整数,其十进制值是多少?表示一个无符号整数,其十进制值是多少?n作为无符号整数,其十进制值
37、是作为无符号整数,其十进制值是231+ 227+ 226 +225 + 224 + 223+ 222 +221 + 219 +218 + 217 +216 + 215 +2142022年5月3日星期二46二进制数二进制数1000 1111 1110 1111 1100 0000 0000 0000l 作为作为IEEE754标准的单精度浮点数标准的单精度浮点数n阶码阶码E是是0001 1111n指数指数e阶码阶码E1270001 11110111 1111 -1100000B-96Dn尾数尾数M=110 1111 1100 0000 0000 0000n则则1.M =1. 110 1111 11
38、00 0000 0000 0000=1.110 1111 11单精度浮点数值为:单精度浮点数值为: 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 2022年5月3日星期二472.1.1数据格式数据格式十进制数串的表示方法十进制数串的表示方法l字符串形式字符串形式每个十进制每个十进制数位数位占用一个字节;占用一个字节;除保存各数位,还需要指明该数存放的起始地址和总位数;除保存各数位,还需要指明该数存放的起始地址和总位数;主要用于非数值计算的应用领域。主要用于
39、非数值计算的应用领域。 l压缩的十进制数串形式压缩的十进制数串形式采用采用BCD码表示,一个字节可存放两个十进制数位;码表示,一个字节可存放两个十进制数位;节省存储空间,便于直接完成十进制数的算术运算;节省存储空间,便于直接完成十进制数的算术运算; 用特殊的二进制编码表示数据正负,如用特殊的二进制编码表示数据正负,如1100正、正、1101负负2022年5月3日星期二482.1.3 字符与字符串的表示方法字符与字符串的表示方法lASCII码码(美国国家信息交换标准字符码美国国家信息交换标准字符码)包括包括128个字符,共需个字符,共需7位编码;位编码;ASCII码规定:最高位为码规定:最高位为
40、0,余下,余下7位作为位作为128个字符的编码。个字符的编码。最高位的作用:奇偶校验;扩展编码。最高位的作用:奇偶校验;扩展编码。l字符串字符串指连续的一串字符,指连续的一串字符, 每个字节存一个字符。每个字节存一个字符。当存储字长为当存储字长为2、或、或4个字节时,在同一个存储单元中个字节时,在同一个存储单元中;u可按从低位字节向高位字节的顺序存放字符串的内容可按从低位字节向高位字节的顺序存放字符串的内容;u或按从高位字节向低位字节的次序顺序存放字符串的内容。或按从高位字节向低位字节的次序顺序存放字符串的内容。 2022年5月3日星期二492.1.4 汉字的表示方法汉字的表示方法l汉字的输入
41、编码汉字的输入编码 目的:直接使用西文标准键盘把汉字输入到计算机目的:直接使用西文标准键盘把汉字输入到计算机 。 分类:主要有数字编码、拼音码分类:主要有数字编码、拼音码 、字形编码三类。、字形编码三类。l汉字内码汉字内码用于汉字信息的存储、交换、检索等操作的机内代码。用于汉字信息的存储、交换、检索等操作的机内代码。如:如:GB2312、UNICODE编码。编码。l汉字字模码汉字字模码用点阵表示的汉字字形代码,用于汉字的输出。用点阵表示的汉字字形代码,用于汉字的输出。2022年5月3日星期二50显示输出显示输出打印输出打印输出机内码向字形码转换机内码向字形码转换机内码机内码输入码向机内码转换输
42、入码向机内码转换中文编码中文编码字符代码化(输入)字符代码化(输入)数字码数字码拼音码拼音码字形码字形码2022年5月3日星期二51汉字字模码汉字字模码精密型精密型4848 4848288288提高型提高型3232 3232128128普及型普及型2424 24247272简易型简易型1616 16163232汉字点阵类型汉字点阵类型点阵点阵占用字节数占用字节数2022年5月3日星期二522.1.5 校验码(数据校验)校验码(数据校验)l数据校验原因数据校验原因为减少和避免数据在计算机系统运行或传送过程中发生错为减少和避免数据在计算机系统运行或传送过程中发生错误,在数据的编码上提供了检错和纠错
43、的支持。误,在数据的编码上提供了检错和纠错的支持。l数据校验码的定义数据校验码的定义能够发现某些错误或具有自动纠错能力的数据编码;能够发现某些错误或具有自动纠错能力的数据编码;也称检错码;也称检错码;l数据校验的基本原理是数据校验的基本原理是扩大码距扩大码距;码距码距:任意任意两个合法码之间不同的二进制位的两个合法码之间不同的二进制位的最少位数最少位数;仅有一位不同时,称其码距为仅有一位不同时,称其码距为1。2022年5月3日星期二53码距及作用码距及作用l设用四位二进制表示设用四位二进制表示16种状态种状态16种编码都用到了,此时码距为种编码都用到了,此时码距为1;任何一种状态的四位码中的一
44、位或几位出错,就变成另一任何一种状态的四位码中的一位或几位出错,就变成另一个合法码;个合法码;无检错能力。无检错能力。l若用四位二进制表示若用四位二进制表示8个状态个状态只用其中的只用其中的8种编码,而把另种编码,而把另8种编码作为非法编码;种编码作为非法编码;可使码距扩大为可使码距扩大为2;u注意:并不是任选注意:并不是任选8种编码都可扩大码距;种编码都可扩大码距; 2022年5月3日星期二54校验码的类型校验码的类型l奇偶校验码奇偶校验码根据数据中根据数据中“1”的个数,设置的个数,设置1位校验位的值;位校验位的值;分分奇校验奇校验和和偶校验偶校验两种,两种,只能检错,无纠错能力只能检错,
45、无纠错能力;l海明校验码海明校验码在奇偶校验的基础上,增加校验位而得;在奇偶校验的基础上,增加校验位而得;具有检错和纠错的能力具有检错和纠错的能力;l循环冗余校验码(循环冗余校验码(CRC)通过模通过模2的除法运算建立数据信息和校验位之间的约定关系;的除法运算建立数据信息和校验位之间的约定关系;具有很强的检错纠错能力。具有很强的检错纠错能力。2022年5月3日星期二55奇偶校验码奇偶校验码概念概念l奇偶校验原理奇偶校验原理在数据中增加在数据中增加1个冗余位,使码距由个冗余位,使码距由1增加到增加到2;如果合法编码中有奇数个位发生了错误,就将成为非法代码。如果合法编码中有奇数个位发生了错误,就将
46、成为非法代码。增加的冗余位称为奇偶校验位。增加的冗余位称为奇偶校验位。l校验的类型校验的类型偶校验:每个码字偶校验:每个码字(包括校验位包括校验位)中中1的数目为偶数。的数目为偶数。奇校验:每个码字奇校验:每个码字(包括校验位包括校验位)中中1的数目为奇数。的数目为奇数。l校验过程校验过程发送端:按照校验类型,在发送数据后添加校验位发送端:按照校验类型,在发送数据后添加校验位P;接收端:对接收到的数据(包括校验位)进行接收端:对接收到的数据(包括校验位)进行同样类型的校同样类型的校验验,决定数据传输中是否存在错误;,决定数据传输中是否存在错误;2022年5月3日星期二56接收端接收端字字校验位
47、校验位校验码校验码例例1: 数据数据 0010 0001奇校验码奇校验码0010 0001 1偶校验码偶校验码0010 0001 0例例2: 0111 0101偶校验码偶校验码 0111 0101 1发送端发送端(门电路)(门电路)0110 0101 1出错!出错!奇偶校验码例题奇偶校验码例题数据传送数据传送 2022年5月3日星期二57海明码海明码l海明码是海明码是1950年提出的;年提出的;只要增加少数的几位校验码,即可检测出多位出错,并能自只要增加少数的几位校验码,即可检测出多位出错,并能自动恢复一或几位出错信息;动恢复一或几位出错信息;l实现原理:实现原理:在一个数据中加入几个校验位,
48、在一个数据中加入几个校验位,每个校验位和某几个特定的每个校验位和某几个特定的信息位信息位构成偶校验的关系;构成偶校验的关系;接收端对每个偶关系进行校验,产生校验因子;接收端对每个偶关系进行校验,产生校验因子;通过通过校正因子校正因子区分区分无错无错和码字中的和码字中的n个不同位置的错误个不同位置的错误;u不同代码位上的错误会得出不同的校验结果;不同代码位上的错误会得出不同的校验结果;2022年5月3日星期二58海明校验的过程海明校验的过程l 确定校验位的位数确定校验位的位数 数据位数不同,所需的校验位位数也不同;数据位数不同,所需的校验位位数也不同;l 确定校验位的位置确定校验位的位置 数据位
49、和校验位是交叉排列的;数据位和校验位是交叉排列的;l 校验分组校验分组 选择校验位和数据位的对应关系;选择校验位和数据位的对应关系;l 校验位的形成校验位的形成 由分组内的数据位形成对应的校验位;由分组内的数据位形成对应的校验位;l 接收端校验接收端校验 接收端校验数据的正误;接收端校验数据的正误;2022年5月3日星期二59海明码海明码确定校验位的位数确定校验位的位数l设设K为有效信息的位数,为有效信息的位数,r为校验位的位数,则整个码字的位数为校验位的位数,则整个码字的位数N应满足不等式:应满足不等式:NKr2r1 通常称为(通常称为(N,K)海明码)海明码l设某设某(7,4)海明码表示的
50、码字长度为海明码表示的码字长度为 位,校验位数为位,校验位数为 位。位。l例如:数据例如:数据D3D2D1D0 =1001K=4,r+5 2r ;可知,需要校验位可知,需要校验位3位位P3P2P1 ;732022年5月3日星期二60海明码海明码确定校验位的位置确定校验位的位置l数据表示数据表示数据位数据位D(DiDi-1D1D0) 、校验位、校验位P(PjPj-1P2P1)海明码海明码H (包括数据位和校验位):(包括数据位和校验位):HmHm-1H2H1;l分组原则分组原则每个校验位每个校验位Pi从低到高被分在海明码中位号从低到高被分在海明码中位号2i-1的位置;的位置;l例如:数据例如:数
51、据D3D2D1D0 =1001,校验位,校验位P3P2P1海明码共海明码共7位位H7H6H2H1 ,各位分配如下:,各位分配如下:H7H6H5H4H3H2H1P1 P2 P3 D0 D1 D2 D3 2022年5月3日星期二61海明码海明码校验分组校验分组l校验原则校验原则海明码的每一位海明码的每一位Hi有多个校验位校验,其关系是有多个校验位校验,其关系是被校验的每被校验的每一位位号一位位号等于等于校验它的各校验位的位号之和校验它的各校验位的位号之和;每个信息位的位置写成用每个信息位的位置写成用2的幂次之和的形式的幂次之和的形式 ;l例如例如H7参与参与H1、H2、H4的校验;的校验;H6参与
52、参与H2、H4的校验;的校验;H5参与参与H1、H4的校验;的校验;H3参与参与H1、H2的校验;的校验;l分组情况分组情况H7H6H5H4H3H2H1P1 P2 P3 D0 D1 D2 D3 第一组第一组P1(H1)第二组第二组P2(H2)第三组第三组P3(H4)第一组(第一组(P1、D3、D1、D0)第二组(第二组(P2、D3、D2、D0 )第三组(第三组(P3、D3、D2、D1 )2022年5月3日星期二62海明码海明码校验位的形成校验位的形成l校验位形成公式校验位形成公式P1第一组中所有位第一组中所有位(除除P1)求异或求异或 Pj 第第j组中所有位组中所有位(除除Pj)求异或求异或l
53、为了能检测两个错误,增加一位校验为了能检测两个错误,增加一位校验Pj1,放在,放在最高位最高位。Pj 1所有位所有位(包括包括P1,P2 , , Pj)求异或求异或l例如:例如:P1D3 D1 D0 =1 0 1=0P2D3 D2 D0 =1 0 1=0P3D3 D2 D1 =1 0 0=1P4D3 D2 D1 D0 P3 P2 P1=1 0 0 1 0 0 1=1第一组(第一组(P1、D3、D1、D0)第二组(第二组(P2、D3、D2、D0 )第三组(第三组(P3、D3、D2、D1 )数据数据D3D2D1D0 =10012022年5月3日星期二63海明码海明码接收端校验(接收端校验(1/2)
54、l接收端接收到数据后,分别求接收端接收到数据后,分别求S1,S2,S3,Sj S1第一组中所有位第一组中所有位(包括包括P1)求异或求异或 Sj第第j组中所有位组中所有位(包括包括Pj)求异或求异或Sj 1 Pj 1 所有位所有位(包括包括P1,P2 , , Pj)求异或求异或 l当当Sj 11时,有一位出错;时,有一位出错;由由Sj S3 S2S1 的编码指出出错位号,将其取反,即可纠错。的编码指出出错位号,将其取反,即可纠错。l当当Sj 10时,无错或有偶数个错(两个错的可能性比较大);时,无错或有偶数个错(两个错的可能性比较大);l当当Sj S3 S2S1 0 0 00时,接收的数无错,
55、否则有两个错。时,接收的数无错,否则有两个错。2022年5月3日星期二64l同上例,接收端接收的数据为同上例,接收端接收的数据为l接收端求接收端求SS10 1 0 1=0S20 1 0 1=0S31 1 0 0=0S41 1 0 0 1 1 0 0 =0l若接收端接收到错误的数据若接收端接收到错误的数据S10 1 0 1=0S20 1 1 1=1S31 1 1 0=1S41 1 1 0 1 1 0 0 =1海明码海明码接收端校验(接收端校验(2/2)H8H7H6H5H4H3H2H1P4D3D2D1P3D0P2P111001100第一组(第一组(P1、D3、D1、D0)第二组(第二组(P2、D3
56、、D2、D0 )第三组(第三组(P3、D3、D2、D1 )无错误!无错误!1S4=1,有错误!,有错误!S3S2S1=110,H6位有错,应取反!位有错,应取反!2022年5月3日星期二65【练习练习】设待校验的数据为设待校验的数据为D7D010101011,写出其海明校验码。,写出其海明校验码。【解解】确定海明校验位的位数确定海明校验位的位数 因为因为K8, 由由NKr 2r1,得,得9r 2r,校验位的位数为,校验位的位数为r4。确定校验位的位置确定校验位的位置 i:12 11 10 9 8 7 6 5 4 3 2 1 D7 D6 D5 D4 P4 D3 D2 D1 P3 D0 P2 P1
57、分组(分组(N位分位分r组)组)位号位号i121110987654321D7D6D5D4P4D3D2D1P3D0P2P110101011第一组第一组(P1)第二组第二组(P2)第三组第三组(P3)第四组第四组(P4)2022年5月3日星期二66【练习练习】设待校验的数据为设待校验的数据为D7D010101011,写出其海明校验码。,写出其海明校验码。校验位的形成校验位的形成 P1=D6 D4 D3 D1 D0 1; P2=D6 D5 D3 D2 D0 1 P3=D7 D3 D2 D1 1 ; P4=D7 D6 D5 D4 0 所以,信息码所以,信息码10101011的海明校验码为:的海明校验码
58、为:1010 0 101 1 1 112022年5月3日星期二67海明码的纠错与检错能力海明码的纠错与检错能力l一个系统能纠正一位差错时,码距最一个系统能纠正一位差错时,码距最小是小是3;码距为码距为3时,或能纠正一位错,或时,或能纠正一位错,或能检测二位错;能检测二位错;但不能同时纠正一位错并检测二但不能同时纠正一位错并检测二位错。位错。l码距为码距为1至至7时,海明码的纠错和检错时,海明码的纠错和检错能力如右表:能力如右表:l码距越大,纠错能力越强,但数据冗码距越大,纠错能力越强,但数据冗余也越大,即编码效率低了。余也越大,即编码效率低了。 码距码距码码 能能 力力检错检错 纠错纠错1 1
59、0 00 02 21 01 03 32 2 或或 1 14 42 2 并并 1 15 52 2 并并 2 26 63 3 并并 2 27 73 3 并并 3 32022年5月3日星期二68CRC校验校验lCRC的工作方法的工作方法在发送端产生一个循环冗余码,附加在信息位后面一起发在发送端产生一个循环冗余码,附加在信息位后面一起发送到接收端;送到接收端;接收端收到的信息按发送端形成循环冗余码同样的算法进接收端收到的信息按发送端形成循环冗余码同样的算法进行校验;行校验;若无错,则接收;若有错,需重发。若无错,则接收;若有错,需重发。 lCRC的特点的特点可检测出所有奇数位错;可检测出所有奇数位错;
60、可检测出所有双比特的错;可检测出所有双比特的错;可检测出所有小于、等于校验位长度的突发错。可检测出所有小于、等于校验位长度的突发错。 lCRC码的信息字段和校验字段的长度可以任意选定。码的信息字段和校验字段的长度可以任意选定。 2022年5月3日星期二692.2 定点加法、减法运算定点加法、减法运算 l2.2.1 补码加法补码加法l2.2.2 补码减法补码减法l2.2.3 溢出概念与检验方法溢出概念与检验方法l2.2.4 基本的二进制加法、减法器基本的二进制加法、减法器2022年5月3日星期二702.2.1 补码加法补码加法l补码加法运算基本公式补码加法运算基本公式定点整数:定点整数: x+y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国木塑锥形双螺杆挤出机市场调查研究报告
- 2025年中国木刷子市场调查研究报告
- 新疆工业职业技术学院《俄国史》2023-2024学年第二学期期末试卷
- 01路基沉降分析及防治对策15课件
- 2025年中国施肥机数据监测研究报告
- 2025年中国数码管银行利率显示屏市场调查研究报告
- 2025年中国硅元件市场调查研究报告
- 2025-2030年中国VAE乳液市场发展策略分析与投资风险评估报告
- 新疆科技学院《供应链设计》2023-2024学年第二学期期末试卷
- 2025至2031年中国绿豆汤行业投资前景及策略咨询研究报告
- 河道的管理和防护课件
- 绿化作业安全教育培训
- GB/T 45282-2025IPv6地址分配和编码规则总体要求
- 《中华人民共和国产品质量法》知识培训
- 技能人才评价命题技术规程
- 中职不等式的试题及答案
- 深信服aES产品技术白皮书-V1.5
- 浙江省金华义乌市稠州中学2024-2025学年九年级下学期3月独立作业英语试卷(原卷版+解析版)
- Unit+2+Expressing+yourself+PartB(课件)【知识精研】人教PEP版(2024)英语三年级下册
- 电子商务与电子政务的互补关系
- 《安全人机工程学》试题及答案
评论
0/150
提交评论