版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-3-11主讲:计算机学院 张健E-mail:22022-3-1第第2章章 运算方法和运算器运算方法和运算器 运算器是计算机进行算术运算和逻辑运运算器是计算机进行算术运算和逻辑运算的主要部件。运算器的逻辑结构取决算的主要部件。运算器的逻辑结构取决于机器的指令系统、数据表示方法和运于机器的指令系统、数据表示方法和运算方法。算方法。32022-3-1第第2章章 运算方法和运算器运算方法和运算器 n教学目标教学目标理解和掌握数据在运算器中的基本运算方法理解和掌握数据在运算器中的基本运算方法理解运算器核心部件理解运算器核心部件ALUALU的组成与工作原理的组成与工作原理n教学重点教学重点运算器
2、的核心部件运算器的核心部件ALUALU的组成和工作原理的组成和工作原理定点数和浮点数四则运算定点数和浮点数四则运算42022-3-1第第2章章 运算方法和运算器运算方法和运算器 2.1 数据与文字的表示方法数据与文字的表示方法 2.2 定点加法、减法运算定点加法、减法运算 2.3 定点乘法运算定点乘法运算 2.4 定点除法运算定点除法运算 2.5 定点运算器的组成定点运算器的组成 2.6 浮点运算方法和浮点运算器浮点运算方法和浮点运算器52022-3-1n2.1 数据与文字的表示方法数据与文字的表示方法2.1.1 进位计数制及相互转换进位计数制及相互转换进位计数制进位计数制 一个十进制数一个十
3、进制数1988.9,可以写成,可以写成(1988.9)10=1103+9102+8101+8100+910-1任意一个十进制数任意一个十进制数(S) 10,可以表示为,可以表示为(S) 10 =kn10n-1+kn-110n-2+ +k1100+k010-1 + +k-m10-m-1 = ki 为为09的任意一个数,的任意一个数,n,m为正整数为正整数, (S) 的下标的下标10是十进制的基数,即是十进制的基数,即“逢十进一逢十进一”,所以称为十进制。,所以称为十进制。110imniik62022-3-1同理,一个二进制数同理,一个二进制数1101.101,可以写成,可以写成(1101.101
4、)2=123+122+021+120+12-1 +02-2+12-3任意一个二进制数任意一个二进制数(S) 2,可以表示为,可以表示为(S) 2 =kn2n-1+kn-12n-2+ +k120+k02-1 + +k-m2-m-1 = ki 只能为只能为0或或1,n,m为正整数为正整数, (S) 的下标的下标2是二进制是二进制的基数,即的基数,即“逢二进一逢二进一”,所以称为二进制。,所以称为二进制。12imniik72022-3-1二进制由于书写不方便,为此经常采用八进制二进制由于书写不方便,为此经常采用八进制和十六进制。和十六进制。八进制:八进制:0、1、2、3、4、5、6、7十六进制:十六
5、进制:0、1、9、A、B、C、D、E、F任意一个八进制数任意一个八进制数(S) 8,可以表示为,可以表示为任意一个十六进制数任意一个十六进制数(S) 16,可以表示为,可以表示为18imniik116imniik82022-3-1进位计数制的相互转换进位计数制的相互转换八进制、十六进制与十进制数的转换八进制、十六进制与十进制数的转换一个十进制整数转换成八进制表示的数时,可一个十进制整数转换成八进制表示的数时,可按按“除除8取余取余”的方法进行。的方法进行。例如例如(2347)10=(?)8,步骤如下:,步骤如下:(2347)10=(4453)892022-3-1一个十进制整数转换成十六进制表示
6、的数时,一个十进制整数转换成十六进制表示的数时,可按可按“除除16取余取余”的方法进行。的方法进行。例如例如(796)10=(?)16,步骤如下:,步骤如下:(796)10=(31C)16102022-3-1一个十进制小数转换成八进制表示的数时,可一个十进制小数转换成八进制表示的数时,可按按“乘乘8取整取整”的方法进行。的方法进行。例如例如(0.7875)10=(?)8,步骤如下:,步骤如下: 0.78758=6.3000 整数整数6 0.30008=2.4000 整数整数2 0.40008=3.2000 整数整数3 (0.7875)10 (0.623)8112022-3-1一个十进制小数转换
7、成十六进制表示的数时,一个十进制小数转换成十六进制表示的数时,可按可按“乘乘16取整取整”的方法进行,类似八进制。的方法进行,类似八进制。若十六进制既有整数,又有小数时,应分别予若十六进制既有整数,又有小数时,应分别予以转换,然后合并就可得结果。以转换,然后合并就可得结果。例如例如(29.65)10=(?)16,步骤如下:,步骤如下: (29)10 =(1D)16 0.6516=10.4 整数整数10(A) 0.416=6.4 整数整数6 (6) (29.65)10 (1D.A6)16122022-3-1八进制数或十六进制转换成等值的十进制数时,八进制数或十六进制转换成等值的十进制数时,可按可
8、按“权相加权相加”的方法进行,例如:的方法进行,例如:(167)8=182+681+780=64+48+7=(119)10(0.42)8=48-1+28-2=0.5+0.03125 =(0.53125)10(1C4)16=1162+12161+4160=256+192+4 =(452)10(0.68)16=616-1+816-2=0.375+0.03125 =(0.40625)10132022-3-1八进制、十六进制与二进制数的转换八进制、十六进制与二进制数的转换由于由于23=8,24=16,所以,所以一位八进制数一位八进制数所能表示所能表示的数值恰好相当于的数值恰好相当于三位二进制数三位二进
9、制数能表示的数值。能表示的数值。同样同样一位十六进制数一位十六进制数所能表示的数值恰好相当所能表示的数值恰好相当于于四位二进制数四位二进制数能表示的数值。能表示的数值。例如例如: (67.731)8= (110 111 . 111 011 001)2 (3AB4)16 = (0011 1010 1011 0100)2练习练习: (542.17)8= (?)2 (8EC.F2)16 = (?)2 142022-3-1反之,从二进制数转换成八进制数时,只要从反之,从二进制数转换成八进制数时,只要从小数点开始,分别向左右两边把小数点开始,分别向左右两边把3位二进制数位二进制数码划为一组,最左和最右不
10、足码划为一组,最左和最右不足3位用位用0补充,然补充,然后每组用一个八进制数码代替即成,例如:后每组用一个八进制数码代替即成,例如: (11 111 101 . 010 011 11)2 =(375.236)8二进制数转换成十六进制数与此类似,只不过二进制数转换成十六进制数与此类似,只不过4位二进制数码分为一组,例如:位二进制数码分为一组,例如: (1111 1101 . 0100 1111)2 =(FD.4F)16练习练习: (1011111010 . 0111011)2 =(?)8 (1011111010 . 0111011)2 =(?)16152022-3-12.1.2 数据格式数据格式
11、计算机常用的数据表示格式有两种:计算机常用的数据表示格式有两种:定点表示:小数点位置固定定点表示:小数点位置固定浮点表示:小数点位置不固定浮点表示:小数点位置不固定定点数的表示方法定点数的表示方法理论上位置可以任意,实际上有两种方法:理论上位置可以任意,实际上有两种方法:n纯小数纯小数n纯整数纯整数162022-3-1假设用一个假设用一个n+1位字来表示一个定点数位字来表示一个定点数x,其中一,其中一位位x0用来表示数的符号,用其余位数代表它的量值。用来表示数的符号,用其余位数代表它的量值。为了将整个为了将整个n+1位统一处理起见,符号位位统一处理起见,符号位x0放在最放在最左位置,并用数值左
12、位置,并用数值0和和1分别代表正号和负号,这分别代表正号和负号,这样,对于任意定点数样,对于任意定点数x=x0 x1x2xn,在定点机中可,在定点机中可表示为如下形式:表示为如下形式:如果数如果数x表示的是表示的是纯小数纯小数,那么小数点位于,那么小数点位于x0和和x1之间。如果数之间。如果数x表示的是表示的是纯整数纯整数,那么小数点位于,那么小数点位于最低位最低位xn的右边。的右边。小数点位置小数点位置172022-3-1对于纯小数:对于纯小数: x=x0 x1x2xn当当 x1x2xn 各位均为各位均为0,数,数x的绝对值最小,即的绝对值最小,即| min=0;当各位均为;当各位均为1,x
13、的绝对值最大,即的绝对值最大,即| max=1-2-n,故数的表示范围为:,故数的表示范围为: 0|1-2-n对于纯整数:对于纯整数: x=x0 x1x2xn当当 x1x2xn 各位均为各位均为0,数,数x的绝对值最小,即的绝对值最小,即| min=0;当各位均为;当各位均为1,x的绝对值最大,即的绝对值最大,即| max=2n-1,故数的表示范围为:,故数的表示范围为: 0|2n-1182022-3-1纯小数的表示范围纯小数的表示范围x=0.00.0 x=1.00.0 x=0正正0和负和负0都是都是0 x=0.11.1x=1-2-n 最大最大x=0.00.01x=2-n 最接近最接近0的正数
14、的正数x=1.00.01x=-2-n最接近最接近0的负数的负数x=1.11.1x=-(1-2-n )最小最小192022-3-1浮点数的表示方法浮点数的表示方法浮点表示:小数点位置随阶码不同而浮动。浮点表示:小数点位置随阶码不同而浮动。计算机中一个任意进制数计算机中一个任意进制数N可以写成可以写成 N=REM其中其中M称为浮点数的尾数,是一个纯小数,称为浮点数的尾数,是一个纯小数,E是比例因子的指数,称为浮点数的阶码,是一是比例因子的指数,称为浮点数的阶码,是一个整数,比例因子的基数个整数,比例因子的基数R对于确定了计数制对于确定了计数制的机器是一个常数,一般规定的机器是一个常数,一般规定R为
15、为2、8或或16,不需要在浮点数中明确表示出来。不需要在浮点数中明确表示出来。202022-3-1一个机器浮点数应由阶码、尾数及其符号位组成一个机器浮点数应由阶码、尾数及其符号位组成IEEE754标准浮点数格式标准浮点数格式Ms是尾数的符号位,是尾数的符号位,E是阶码,占是阶码,占m位,阶符位,阶符采用隐含方式,采用隐含方式,M是尾数,占是尾数,占n位。位。阶符阶符 阶码阶码 数符数符 尾数尾数Es E1E2Em Ms M1M2 Mn数符数符 阶码阶码 尾数尾数Ms E1E2Em M1M2 Mn212022-3-1IEEE754标准标准32位、位、64位浮点数格式位浮点数格式222022-3-
16、1IEEE754标准标准32位(单精度)位(单精度)基数基数R=2,基数固定,采用隐含方式来表示它。,基数固定,采用隐含方式来表示它。32位的浮点数位的浮点数nS是数的符号位,是数的符号位,1位,在最高位,位,在最高位,“0”表示正表示正数,数,“1”表示负数。表示负数。nM是尾数,是尾数, 23位,在低位部分,采用纯小数表位,在低位部分,采用纯小数表示。示。nE是阶码,是阶码,8位,采用移码表示。位,采用移码表示。232022-3-1规格化:规格化: 若不对浮点数的表示作出明确规定,若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。同一个浮点数的表示就不是惟一的。n尾数域最左位
17、尾数域最左位(最高有效位最高有效位)总是总是1, 故这一故这一位经常不予存储,而认为隐藏在小数点的左位经常不予存储,而认为隐藏在小数点的左边。边。n采用这种方式时,将浮点数的指数真值采用这种方式时,将浮点数的指数真值e变变成阶码成阶码E时,应将指数时,应将指数e加上一个固定的偏移加上一个固定的偏移值值127(01111111),即,即E=e+127。242022-3-1一个规格化的一个规格化的32位浮点数位浮点数x的真值表示为的真值表示为 x=(-1)S(1.M)2E-127 e=E-127一个规格化的一个规格化的64位浮点数位浮点数x的真值表示为的真值表示为 x=(-1)S(1.M)2E-1
18、023 e=E-1023 252022-3-1真值真值x为零表示:为零表示:当阶码当阶码E为全为全0且尾数且尾数M也为全也为全0时的值,结合符号位时的值,结合符号位S为为0或或1,有正零和负零之分有正零和负零之分。真值真值x为无穷大表示:为无穷大表示:当阶码当阶码E为全为全1且尾数且尾数M为全为全0时,结合符号位时,结合符号位S为为0或或1,也,也有有+和和-之分之分。在在32位浮点数表示中,要除去位浮点数表示中,要除去E用全用全0和全和全1(25510)表示零和无穷大的特殊情况,指数的偏)表示零和无穷大的特殊情况,指数的偏移值不选移值不选128(10000000),而选),而选127(011
19、11111)。)。对于规格化浮点数,对于规格化浮点数,E的范围变为的范围变为1到到254,真正的,真正的指数值指数值e则为则为-126到到+127。因此。因此32位浮点数表示的位浮点数表示的绝对值的范围是绝对值的范围是10-381038(以(以10的幂表示)。的幂表示)。262022-3-1浮点数所表示的范围远比定点数大。一台计算浮点数所表示的范围远比定点数大。一台计算机中究竟采用定点表示还是浮点表示,要根据机中究竟采用定点表示还是浮点表示,要根据计算机的使用条件来确定。一般在高档微机以计算机的使用条件来确定。一般在高档微机以上的计算机中同时采用定点、浮点表示,由使上的计算机中同时采用定点、浮
20、点表示,由使用者进行选择。用者进行选择。272022-3-1n例例1:若浮点数:若浮点数x的的754标准存储格式为标准存储格式为(41360000)16,求其浮点数的十进制数值。求其浮点数的十进制数值。 解:将解:将16进制数展开后,可得二制数格式为进制数展开后,可得二制数格式为 0 100 00010011 0110 0000 0000 0000 0000 S 阶码阶码(8位位) 尾数尾数(23位位) 指数指数e=阶码阶码-127=10000010-01111111=00000011=(3)10 包括隐藏位包括隐藏位1的尾数的尾数 1.M=1.011 0110 0000 0000 0000
21、0000=1.011011 , 于是有:于是有:x=(-1)S1.M2e =+(1.011011)23=+1011.011=(11.375)10282022-3-1n例例2:将数:将数(20.59375)10转换成转换成754标准的标准的32位浮点数位浮点数的二进制存储格式。的二进制存储格式。 解解:首先分别将整数和分数部分转换成二进制数:首先分别将整数和分数部分转换成二进制数: 20.59375=10100.10011 然后移动小数点,使其在第然后移动小数点,使其在第1,2位之间位之间 10100.10011=1.01001001124 e=4 于是得到:于是得到:S=0, E=4+127=
22、131, M=010010011 最后得到最后得到32位浮点数的二进制存储格式为:位浮点数的二进制存储格式为: 0100 0001 1010 0100 1100 0000 0000 0000 =(41A4C000)16292022-3-12.1.3 数的机器码表示数的机器码表示二进制数也有正负之分,如二进制数也有正负之分,如A=+1011,B=-0.1110,机器并不能表示,机器并不能表示“+”、“-”。引入符。引入符号位,即用一位二进制数对符号进行数字化。号位,即用一位二进制数对符号进行数字化。真值:一般书写的数。符号用真值:一般书写的数。符号用“+”、“-”表示。表示。机器数:机器中表示的
23、数,对符号进行数字化。机器数:机器中表示的数,对符号进行数字化。数的符号数字化后,是否参加运算?符号参加数的符号数字化后,是否参加运算?符号参加运算后数值部分又如何处理呢?运算后数值部分又如何处理呢?计算机内有计算机内有原码原码、补码补码、反码反码几种机器数形式,几种机器数形式,还有专门用于阶的还有专门用于阶的移码移码形式。形式。302022-3-1原码表示法原码表示法基本思想基本思想n用用0和和1在原来的在原来的“+”、“-”位置上简单取代。位置上简单取代。n又称又称符号符号绝对值绝对值表示法。表示法。例:例:+1010110原原 = 0 1010110 -1010110原原 = 1 101
24、0110 +0.1010110原原=0.1010110 -0.1010110原原 =1.1010110312022-3-1若定点小数的原码形式为若定点小数的原码形式为 x0 . x1 xn-1xn,则,则原码表示的定义是原码表示的定义是 x 1x0 0,正数,正数 x原原= 符号符号 1+|x| 0 x -1 1,负数,负数式中式中x原原是机器数,是机器数,x是真值。是真值。 例:例:x=+0.11001110 x原原=0.11001110 -x原原=1.11001110322022-3-1若定点整数的原码形式为若定点整数的原码形式为 x0 x1 xn-1xn,则原,则原码表示的定义是码表示的
25、定义是 x 2nx0 0,正数,正数 x原原= 符号符号 2n+|x| 0 x -2n 1,负数,负数式中式中x原原是机器数,是机器数,x是真值。是真值。有正有正0和负和负0之分之分+0000原原 =0 0000 -0000原原 =1 0000332022-3-1例:假设机器字长为例:假设机器字长为16位,求位,求 +1010110、 -1010110、+0. 1010110、 -0. 1010110的原码。的原码。 +1010110原原= 0 000 0000 0101 0110 - 1010110原原= 1 000 0000 0101 0110 +0.1010110原原=0.1010 11
26、00 0000 0000 -0.1010110原原= 1.1010 1100 0000 0000342022-3-1原码特点:原码特点:n表示简单,易于同真值之间进行转换。表示简单,易于同真值之间进行转换。n实现乘除运算规则简单。实现乘除运算规则简单。n进行加减运算十分麻烦。进行加减运算十分麻烦。352022-3-1补码表示法补码表示法引入引入”补补”:以时钟为例:假设现在时针指向:以时钟为例:假设现在时针指向3,要想让其指向,要想让其指向9,有两种办法:,有两种办法:让时针顺时针转让时针顺时针转6个刻度。可表示为:个刻度。可表示为: 3+6=9让时针逆时针转让时针逆时针转6个刻度。可表示为:
27、个刻度。可表示为: 3-6=9为什么加一个数和减一个数会等价呢?因为钟为什么加一个数和减一个数会等价呢?因为钟盘只有盘只有12个刻度,是有限的。个刻度,是有限的。362022-3-1结论:结论:在计数系统容量有限的前提下,加一个在计数系统容量有限的前提下,加一个数和减一个数可以等价;且它们的绝对值之和数和减一个数可以等价;且它们的绝对值之和就等于这个计数系统的容量。计数系统容量在就等于这个计数系统的容量。计数系统容量在计算机科学中称之为计算机科学中称之为“模模”。 +7 -5 (mod 12) -1011 +0101 (mod 24) +7 -93(mod 100)这里的这里的+7与与-5、
28、-1011与与+0101、 +7与与-93互称互称为在模为在模12、24、和、和100下的补数。下的补数。372022-3-1在定点小数机器中,数最大不超过在定点小数机器中,数最大不超过1,也就是,也就是负的小数对负的小数对“1”的补码是等价的。但实际上,的补码是等价的。但实际上,负数的符号位还有一个负数的符号位还有一个“1”,要把它看成数的,要把它看成数的一部分,所以要对一部分,所以要对2求补码,即以求补码,即以2为模数。为模数。若定点小数的补码形式为若定点小数的补码形式为 x0 . x1 xn-1xn,则,则补码表示的定义是补码表示的定义是 x 1x0 x补补= ( mod 2) 2+x=
29、2-|x| 0 x -1式中式中x补补是机器数,是机器数,x是真值。是真值。382022-3-1例:例:nx= -0.1011 nx补补=10+x=10.0000-0.1011=1.0101ny=-0.01111ny补补=10+y=10.00000-0.01111=1,10001nX=-0,x补补=10+x=10.0-0.0 =10.0=0nX=0,x补补=x=0n0补补= -0补补=0.0 (mod 2)392022-3-1若定点整数的补码形式为若定点整数的补码形式为 x0 x1 xn-1xn,则补,则补码表示的定义是码表示的定义是 x 2nx0 x补补= ( mod 2n+1) 2n+1+
30、x=2n+1-|x| 0 x -2n式中式中x补补是机器数,是机器数,x是真值。是真值。402022-3-1求负数补码的方法求负数补码的方法n按补码的数学定义求。按补码的数学定义求。n从真值低位向高位检查,遇到从真值低位向高位检查,遇到0的时候照写下来,的时候照写下来,直到遇到第一个直到遇到第一个1,也照写下来,第一个前面的,也照写下来,第一个前面的各位按位取反,符号位填各位按位取反,符号位填1。n对其数值位各位按位取反,末位加对其数值位各位按位取反,末位加1,符号位填,符号位填1。正数的补码正数的补码n真值的符号位为真值的符号位为0,数值位不变。,数值位不变。412022-3-1补码的运算补
31、码的运算补码的符号参与运算补码的符号参与运算加法加法n只需把两个数先求补码,再把补码相加就可只需把两个数先求补码,再把补码相加就可得到和的补码。得到和的补码。减法减法n只需对被减数求补码,减数取负之后再求补只需对被减数求补码,减数取负之后再求补码,相加即可得到差的补码。码,相加即可得到差的补码。结论:一律做加法。结论:一律做加法。422022-3-1例如:例如:X=(11)10=(1011)2 Y=(5)10=(0101)2 已知字长已知字长n=5位,求位,求x-y补补 解:解:x-y补补= X补补-Y补补 =X补补+-Y补补 X补补= 0 1011, y补补= 0 0101, -y补补= 1
32、 1011, x-y补补=0 1011+1 1011=1 00110=00110=(6)10 注:注: 最高最高1位已经超过字长故应丢掉位已经超过字长故应丢掉!432022-3-1反码表示法反码表示法定义:正数的表示与原、补码相同,负数的反定义:正数的表示与原、补码相同,负数的反码符号位为码符号位为1,数值位是将原码的数值按位取,数值位是将原码的数值按位取反,就得到该数的反码表示。反,就得到该数的反码表示。若定点小数的反码形式为若定点小数的反码形式为 x0 . x1 xn-1xn,则,则反码表示的定义是反码表示的定义是 x 1x0 x反反= (2-2-n)+x 0 x -1式中式中x反反是机器
33、数,是机器数,x是真值。是真值。442022-3-1X=+0.1011011 , X反反 =0.1011011X= -0.1011011 , X反反 =1.0100100X=+0.0000000 , X反反 =0.0000000X= -0.0000000 , X反反 =1.1111111即:即:0反反 -0反反 反码表示有正反码表示有正0和负和负0之分之分x 补补=x 反反+2-n上述公式解决了前边的问题(求补码还要用减上述公式解决了前边的问题(求补码还要用减法)。法)。452022-3-1若定点整数的反码形式为若定点整数的反码形式为 x0 x1 xn-1xn,则反,则反码表示的定义是码表示的
34、定义是 x 2nx0 x反反= (2n+1-1)+x 0 x -2n式中式中x反反是机器数,是机器数,x是真值。是真值。462022-3-1移码表示法移码表示法移码通常用于表示浮点数的阶码。由于阶码是移码通常用于表示浮点数的阶码。由于阶码是个个n位的整数,所以假定定点整数移码形式为位的整数,所以假定定点整数移码形式为x0 x1 xn-1xn时,移码的定义是:时,移码的定义是: x移移=2n+x, 2nx-2n式中式中x移移为机器数,为机器数,x为真值。为真值。例:当例:当n=7,移码:,移码:0000000011111111 真值:真值:1000000001111111 ( -2n 2n-1
35、)472022-3-1例:例: + 1011111, - 1011111。原码:原码: 0 1011111, 1 1011111,反码:反码: 0 1011111, 1 0100000,补码:补码: 0 1011111, 1 0100001, 移码:移码: 1 1011111, 0 0100001。特点:移码和补码尾数相同,符号位相反。特点:移码和补码尾数相同,符号位相反。482022-3-1例:以定点整数为例,用数轴形式说明原码、例:以定点整数为例,用数轴形式说明原码、反码、补码表示范围和可能的数码组合情况。反码、补码表示范围和可能的数码组合情况。 492022-3-1例:将十进制真值例:将
36、十进制真值(127,1,0,1,127)列表表列表表示成二进制数及原码、反码、补码、移码值。示成二进制数及原码、反码、补码、移码值。502022-3-12.1.4 字符与字符串的表示方法字符与字符串的表示方法字符作为人字符作为人机联系的媒介,是最重要的数据机联系的媒介,是最重要的数据类型之一,当前的西文字符集由类型之一,当前的西文字符集由 128 个符号组个符号组成,通常用成,通常用 8 位二进制编码,即位二进制编码,即用一个字节来用一个字节来表示一个符号表示一个符号,常用的两个标准字符集是:,常用的两个标准字符集是:ASCII 码码:即:即 American Standard Code fo
37、r Information Interchange.EBCDIC码码:即:即 Extended Binary Coded Decimal Interchange Code.512022-3-1ASCII 码字符集码字符集522022-3-1字符串是指连续的一串字符,它们占据主存中连续字符串是指连续的一串字符,它们占据主存中连续的多个字节,每个字节存放一个字符,对一个主存的多个字节,每个字节存放一个字符,对一个主存字的多个字节,有按从低位到高位字节次序存放的,字的多个字节,有按从低位到高位字节次序存放的,也有按从高位到低位字节次序存放的。表示字符串也有按从高位到低位字节次序存放的。表示字符串数据
38、要给出串存放的主存起始地址和串的长度。例数据要给出串存放的主存起始地址和串的长度。例如:如:IF AB THEN READ(C) 就可以有如下不同存就可以有如下不同存放方式:放方式:AFITBNEHDAER)C( IFABTH ENR EA D(C )假定每个字假定每个字由由 4 个字节组成个字节组成532022-3-1I IF FA A B BT TH HE EN NR RE EA AD D( (C C) )494620413e42205448454e20524541442843292008 716 1524 2331按从低位到高位字节次序存放按从低位到高位字节次序存放16进制数据进制数据5
39、42022-3-1二二十进制码(十进制码(BCD码)码)用用 4 位二进制表示位二进制表示 1 位十进制数,一个多位的位十进制数,一个多位的十进制数被表示为这种编码的数串,十进制数被表示为这种编码的数串,16 个编码个编码状态中选用其中的状态中选用其中的 10 个编码有多种不同的方个编码有多种不同的方案:案:8421码,码, 余余 3 码,格雷码码,格雷码 。例如例如: (319.8)10=(0011 0001 1001.1000)BCD练习练习: (84.75)10 =(?)BCD=(?)2=(?)8=(?)16可以进一步分为可以进一步分为有权码有权码和和无权码无权码:有权码:有权码:每位上
40、的每位上的 1 代表确定的值。代表确定的值。无权码:无权码:无法确定每位上的无法确定每位上的 1 代表的值。代表的值。 552022-3-10 0000 0011 00001 0001 0100 00012 0010 0101 00113 0011 0110 00104 0100 0111 01105 0101 1000 11106 0110 1001 10107 0111 1010 10008 1000 1011 11009 1001 1100 0100余余3码码格雷码格雷码8421有权码有权码 无权码无权码562022-3-12.1.5 汉字的表示方法汉字的表示方法汉字的输入编码汉字的输入
41、编码当前采用的方法主要有以下三类:当前采用的方法主要有以下三类:数字编码数字编码常用的是国际区位码,用数字串代表一个汉字常用的是国际区位码,用数字串代表一个汉字输入。输入。例如例如“中中”字位于第字位于第54区区48位,区位码为位,区位码为5448。优点:无重码,输入码与内部编码的转换非常优点:无重码,输入码与内部编码的转换非常方便。方便。缺点:代码难以记忆。缺点:代码难以记忆。572022-3-1拼音码拼音码以汉语拼音为基础的输入法。以汉语拼音为基础的输入法。优点:凡掌握汉语拼音的人,不需训练和记忆。优点:凡掌握汉语拼音的人,不需训练和记忆。缺点:同音字太多,输入重码率很高,影响输缺点:同音
42、字太多,输入重码率很高,影响输入速度。入速度。字形码字形码用汉字的形状来进行的编码。用汉字的形状来进行的编码。例如五笔字形编码是最有影响的一种字形编码例如五笔字形编码是最有影响的一种字形编码方法。方法。优缺点:优缺点:相对于拼音输入法具有重码率低的特相对于拼音输入法具有重码率低的特点,熟练后可快速输入汉字点,熟练后可快速输入汉字。记忆汉字写法。记忆汉字写法。582022-3-1汉字内码汉字内码通常用两个字节表示一个汉字。通常用两个字节表示一个汉字。为了与西文字符编码相区别(西文的为了与西文字符编码相区别(西文的ASCII码码的最高一位编码值为的最高一位编码值为 0),表示一个汉字时,),表示一
43、个汉字时,把两个字节的最高一位的编码值设定为把两个字节的最高一位的编码值设定为 1,则,则该编码集的最多编码数量为该编码集的最多编码数量为 128 128。这种编码方案与西文传送中的把这种编码方案与西文传送中的把 ASCII 码的最码的最高一位用作奇偶校验位有矛盾,需用三个字节高一位用作奇偶校验位有矛盾,需用三个字节表示汉字内码。表示汉字内码。592022-3-1汉字字模码汉字字模码字模码是用点阵表示字模码是用点阵表示 的汉字字形代码,它的汉字字形代码,它 是汉字的输出形式。是汉字的输出形式。注意注意:汉字的输入编码、汉字的输入编码、 汉字内码、字模码是汉字内码、字模码是 计算机中用于输入、计
44、算机中用于输入、 内部处理、输出三种内部处理、输出三种 不同用途的编码不同用途的编码。602022-3-12.1.6 校验码校验码在原有数据位之外再增加一到几个校验位,使新在原有数据位之外再增加一到几个校验位,使新得到的由数据位和校验位构成的码字带上某种特得到的由数据位和校验位构成的码字带上某种特性,通过检查该码字是否仍保持有这一特性,来性,通过检查该码字是否仍保持有这一特性,来判断码字中的某一、二位的值是否发生了变化,判断码字中的某一、二位的值是否发生了变化,即是否出现了错误,甚至于定位错误后,自动改即是否出现了错误,甚至于定位错误后,自动改正这一错误,这就是检错纠错编码技术或校验码正这一错
45、误,这就是检错纠错编码技术或校验码方法。方法。传送传送码字码字薄弱环节薄弱环节原始数据原始数据编码过程编码过程结果数据结果数据译码过程译码过程612022-3-1检错码检错码最简单且应用广泛的检错码是采用一位检验位最简单且应用广泛的检错码是采用一位检验位的奇偶校验。的奇偶校验。设设X=( x0 x1 xn-1)是一个)是一个n位字,则奇偶校位字,则奇偶校验定义为验定义为 C= x0 x1 xn-1式中式中 代表按位加,当代表按位加,当X包含有奇数个包含有奇数个1时,称时,称为奇校验,当为奇校验,当X包含有偶数个包含有偶数个1时,称为偶校验。时,称为偶校验。奇偶校验可提供单错误检测,但无法检测多
46、错,奇偶校验可提供单错误检测,但无法检测多错,更无法识别错误的位置。更无法识别错误的位置。622022-3-1例:选择题:如果需要对例:选择题:如果需要对3个字节的数据进行个字节的数据进行纵向奇偶校验,可再增加纵向奇偶校验,可再增加1 个字节作为纵向校个字节作为纵向校验字节,纵向校验的奇偶性与横向校验的奇偶验字节,纵向校验的奇偶性与横向校验的奇偶性相同。若被校验的性相同。若被校验的3个字节数据分别是个字节数据分别是A9H、B8H和和CFH ,则新增加的校验字节数据是,则新增加的校验字节数据是( )。)。A. AEH B. DEH C. D6HD. 5EH 632022-3-1分析:分析:3 个
47、横向校验码个横向校验码A9H 、B8H 和和CFH 中中1 的的个数均为偶数个,说明系统采用的是偶校验,个数均为偶数个,说明系统采用的是偶校验,4 个个字节(字节(3 个数据字节加上纵向校验字节)对应位中个数据字节加上纵向校验字节)对应位中1 的个数也应当为偶数个。的个数也应当为偶数个。归纳总结:计算机在进行大量字节(数据块)传归纳总结:计算机在进行大量字节(数据块)传送时,不仅每一个字节有一个奇偶校验位做横向送时,不仅每一个字节有一个奇偶校验位做横向校验,而且全部字节的同一位也设置一个奇偶校校验,而且全部字节的同一位也设置一个奇偶校验位做纵向校验,这种横向、纵向同时校验的方验位做纵向校验,这
48、种横向、纵向同时校验的方法称为交叉校验。法称为交叉校验。解题技巧:首先根据解题技巧:首先根据3 个字节数据确定校验规则的个字节数据确定校验规则的奇偶性,增加的纵向校验字节要保证纵向每一位奇偶性,增加的纵向校验字节要保证纵向每一位也符合同样的奇偶性。也符合同样的奇偶性。答案:答案:B 642022-3-1纠错码纠错码常用纠错码有海明码、循环码、法尔码等。只常用纠错码有海明码、循环码、法尔码等。只要使用足够的校验位,就可以达到任何要求的要使用足够的校验位,就可以达到任何要求的错误检测和纠错水平。错误检测和纠错水平。652022-3-1n2.2 定点加法、减法运算定点加法、减法运算2.2.1 补码加
49、法补码加法补码加法的公式补码加法的公式x补补+y补补= x+y补补 (mod 2)证明的先决条件是证明的先决条件是 |1, |1, |0, 0, 则则0 补补=x, 补补=y, 补补+ 补补=x+y补补+ 补补=x+y =+补补 (mod 2)662022-3-1(2) 0, 0或或+0时时, 2 + (+) 2, 进位进位2必丢失必丢失, 又因又因(+)0, 故故补补+补补=+=+补补当当+0时时, 2 + (+) 2,又因又因(+)0, 故故补补+补补=2+(+)=+补补(mod 2)672022-3-1(3) 0, 则则+0或或+0 与与 (2) 情况一样,将情况一样,将x、y对调即证得
50、。对调即证得。(4) 0, 0, 则则+0 相加两数都是负数,则其和也一定是负数。相加两数都是负数,则其和也一定是负数。补补=2+,补补=2+补补+补补=2+2+ =2+(2+)|+|1 , 1 (2+)2, 进位进位2必丢失必丢失, 又因又因(+)0, 所以所以补补+补补=2+(+)=+补补 (mod 2)682022-3-1至此证明了在模至此证明了在模2意义下,任意两数补码之和意义下,任意两数补码之和等于该两数之和的补码。这是补码加法理论的等于该两数之和的补码。这是补码加法理论的基础,其结论也适用于定点整数。基础,其结论也适用于定点整数。例例1:x= 0.1001,y= 0.0101,求,
51、求x+y。 x补补=0.1001 y补补=0.0101 x+y补补=x补补+y补补 =0.1001+0.0101 =0.1110 x+y= (0.1110)2=(0.875)10692022-3-1例例2:x= +0.1011,y= -0.0101,求,求x+y。 x补补=0.1011 y补补=1.1011 x+y补补=x补补+y补补 = 0.1011 + 1.1011 = 0.0110 x+y= (0.0110)2=(0.375)10由以上两例看到,补码加法的特点,一是符号由以上两例看到,补码加法的特点,一是符号位要作为数的一部分一起参与运算,二是要在位要作为数的一部分一起参与运算,二是要在模模2的意义下相加,即超过的意义下相加,即超过2的进位要丢掉。的进位要丢掉。702022-3-12.2.2 补码减法补码减法数用补码表示时,减法运算的公式为数用补码表示时,减法运算的公式为x-y补补=x补补-y补补=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47640-2026数字化转型数字人才技术能力和培养要求
- 河北省2026届九年级下学期初中学业水平模拟数学试卷(部分答案)
- 2025年亳州市蒙城县选调县外教师笔试真题
- 肾病综合征临床特征与护理要点
- AI金融反洗钱监测系统升级可行性研究报告
- 冬季衣服商品活动策划方案(3篇)
- 亲子中式面点活动方案策划(3篇)
- 儿童社工元旦活动方案策划(3篇)
- 任务5.1 S7-1200 PLC PN通信控制V90伺服速度
- 2026年别墅销售及定制装修合同范本二篇
- 相似品排产管理规定
- 2026年度全国保密教育线上培训题库(选择+判断)及参考答案
- 小学语文教师业务考试试题及答案
- XX中学八年级生物中考实验操作考试注意事项培训会上实验员讲解
- 副校长竞聘笔试题(含答案)
- 2025届“才聚齐鲁成就未来”山东钢铁集团有限公司高校毕业生招聘笔试参考题库附带答案详解
- 90°爬梯设计计算书
- 马的繁育教学课件
- 索尼相机DSC-WX350中文使用说明书
- 妇产科学宫颈肿瘤课件
- 2025年省级农产品质量安全检测机构评审员技能考试题库(含答案)
评论
0/150
提交评论