第6章计算机的运算方法2013(V1.21).ppt
《第6章计算机的运算方法2013(V1.21).ppt》由会员分享,可在线阅读,更多相关《第6章计算机的运算方法2013(V1.21).ppt(194页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 计算机的运算计算机的运算方法与运算器方法与运算器计计 算算 机机 组组 成成 原原 理理2013年3月16日6.1.1非数值数据表示法o字符表示法o汉字表示法1、ASCII码o使用7bit表示128个字符nFrom0000000to111111127=128o注意:ASCII中的数字字符和数字本身不相等o几乎所有计算机均支持该代码集o但不是所有语言都能用128个字符表示1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 o计算机利用寄存器存储数据o寄存器中每个位称bit(BinaryDigiT)o最高有效
2、位(MSB)最低有效位(LSB)MSBMostsignificantbitLSBLeastsignificantbit专用名词2、汉字表示法o8bit数据仅能表示256个字符,常用汉字6000多个,故其无法表示汉字oGB2312国家标准采用16位表示o与ASCII字符的区别,最高有效位MSB=1o内码,外码(输入法),字模码(显示用)GB2312-80国家标准o1981年,GB2312-80国家标准,包括6763个汉字/682个非汉字字符,称为国标码或国际交换码oGB2312字符集的构成:n一级常用汉字3755个,按汉语拼音排列n二级常用汉字3008个,按偏旁部首排列n非汉字字符682个汉字标
3、准oGB2312-1980(GB0)(简体)n6763个汉字oGB13000-1993n20902个汉字(Unicode1.1版本)o汉字扩展规范GBK1.0标准1995(非国家标准)n21003个字符(兼容GB2312)oGB18030-2000(1/2/4字节编码)n27484汉字(向下兼容GB2312GBK,GB13000)字模码介绍o字模码是用点阵表示的汉字字型代码,是汉字的输出形式。o字模点阵的信息量是很大的,所占存储空间也很大。以16*16为例,每个汉字要占用32个字节,o因此字模点阵只能用来构成汉字库,而不能用于机内存储。6.1.2进制转换o二进制数转八进制o二进制数转十六进制o
4、二进制数转十进制o十进制数转二进制1、二到八或十六进制转换 o二进制转到八进制 从小数点向左右三位一分组(10011100.01)2=(234.2)8010o二进制转十六进制 从小数点向左右四位一分组(10011100.01)2=(9C.4)160100 说明:整数部分不足位数对转换无影响,小数部分不足位数要补零凑足,则出错。2、二进制转十进制从二进制数求其十进制的值,逐位码权累加求和o10010001127026025124023022021120-=mkiiirDN*3、十进制转二进制整数部分除2取余小数部分乘2取整2 1 1222521011010.625*210.25 *200.5 *
5、21 0.0 除尽为止 1011低高高低求得位数满足要求为止4、进制转换的简单运算方法o17/128的二进制表示方法?o大数的转换方法,记住几个常用的2的幂2532 2664 27128 28256 29512 2101024(1Kilo)2112048 2124096 2138182 21416364 21532728 21665536 2201048576(1Mega)2301073741824(1Giga)2401Tera 更大的单位是多少?2501 Peta 2601 Exa 2701 Zetta 2801 Yotta 6.26.2数据的表示方法数据的表示方法 6.2.1 6.2.1
6、数据格式数据格式计算机中常用的数据表示格式有两种:计算机中常用的数据表示格式有两种:(1 1)定点格式)定点格式(2 2)浮点格式)浮点格式 定点格式(定点格式(小数点位小数点位置固定置固定)容许的数值范围)容许的数值范围有限,但要求的处理硬件有限,但要求的处理硬件比较简单比较简单。浮点格式(浮点格式(小数点位置浮动小数点位置浮动)容许的数值范围很大,但要求的处容许的数值范围很大,但要求的处理硬件比较复杂理硬件比较复杂 。1.1.定点数的表示方法定点数的表示方法定点表示定点表示:约定机器中所有数据的小数点位置是按约按约定固定不变定固定不变的,小数点就不再使用记号“.”来表示。定点数据的形式:纯
7、小数纯小数或纯整数纯整数。(设:(设:定点数表示为定点数表示为0 01 12 2n n 其中:其中:0 0符号位,符号位,0 0代表正号,代表正号,1 1代表负号)代表负号)小数点的位置约定在符号小数点的位置约定在符号位位x x0 0的后面的后面(不显示不显示)小数点的位置约定在数值小数点的位置约定在数值位位x xn n的后面的后面(不显示不显示)例:例:X=+1010110.X=+1010110.纯整数:纯整数:X=X=0 01010110.1010110.正数,符号位取正数,符号位取0 0Y=-1101001.Y=-1101001.纯整数:纯整数:Y=Y=1 11101001.110100
8、1.负数,符号位取负数,符号位取1 1X=+0.11011X=+0.11011Y=-0.10101Y=-0.10101符号位取符号位取0 0纯小数:纯小数:X=X=0 0.11011.11011符号位取符号位取1 1纯小数:纯小数:X=X=1 1.10101.10101纯整数:纯整数:X=X=0 010101101010110符号位取符号位取0 0纯整数:纯整数:Y=Y=1 111010011101001符号位取符号位取1 1符号位取符号位取0 0纯小数:纯小数:X=X=0.0.1101111011符号位取符号位取1 1纯小数:纯小数:X=X=1.1.1010110101注意到注意到:无论是整
9、数或无论是整数或是小数,在是小数,在机器数的表机器数的表示中,都不示中,都不出现小数点出现小数点“.”,.”,只是约只是约定其位置。定其位置。2 2、浮点数的表示方法、浮点数的表示方法 例:例:156.78 156.78 =15.67810=15.678101 1 =1.5678101.5678102 2 =0.1567810=0.15678103 3=MR=MRE E其中:其中:MM为为尾数尾数;R R为为基数基数;E E为为阶码阶码(指数)。(指数)。二进制数二进制数在定点计算机中,在定点计算机中,一般约定一般约定:尾数尾数|M|1.0|M|1 x x 001-1-x=x=1 1+|x|+
10、|x|0 0 x x -1-1定点小数符号位 小数点位置 数值部分 X X0 0X X1 1X X2 2X X3 3 X Xn nX X0 01 1 1 1 1 1 1 1 X X0 00 0 0 0 0 0 1 1 2-n|X|1-2-n下溢/上溢最低有效位最低有效位最高有效位最高有效位对于对于定点整数定点整数 x x=1 122n n,则原码的定义是则原码的定义是:对于对于定点整数定点整数,其原码形式为:其原码形式为:原原=0 01 12 2n n,注意到注意到:原码机器中:原码机器中“+0”+0”、“-0”-0”有两种形式:有两种形式:对于对于定点小数定点小数:+0+0原原 =0.000
11、0 -0=0.0000 -0原原 =1.00001.0000对于对于定点整数定点整数:+0+0原原 =00000.-0=00000.-0原原 =10000.10000.2 2n n0 0 2 2n n2 2n n|002 2n n符号符号数值数值定点整数符号位 小数点位置 数值部分 X X0 0X X1 1X X2 2X X3 3 X Xn nX X0 01 1 1 1 1 1 1 1 X X0 00 0 0 0 0 0 1 1 1|X|2n-1上溢最高有效位最高有效位最低有效位最低有效位2.2.补码表示法补码表示法 补码的概念补码的概念(以钟表对时为例)(以钟表对时为例)假设现在的标准时间为
12、假设现在的标准时间为4 4点正;点正;而有一只表已经而有一只表已经7 7点了,为点了,为了校准时间,可以采用两种方法:一是将时针退了校准时间,可以采用两种方法:一是将时针退 7-4=3 7-4=3 格;一格;一是将时针向前拨是将时针向前拨12-3=912-3=9格。格。显然:这两种方法都能对准到显然:这两种方法都能对准到4 4点,由此可以看出,减点,由此可以看出,减3 3和加和加9 9是等价的。所以称:当模数是等价的。所以称:当模数Mod=12Mod=12时,时,9 9是是(-3)(-3)补码。补码。用数学公式表示:用数学公式表示:-3-3+9+9(mod12mod12)“模模”表示被丢掉的数
13、值。上式在数学上称为同余式。表示被丢掉的数值。上式在数学上称为同余式。设某数为设某数为x x,当,当Mod=12Mod=12时,时,x-3=x+9x-3=x+9、x+7=x-5 x+7=x-5 都是等价都是等价的。的。从这里可以得到一个启示,就是从这里可以得到一个启示,就是负数用补码表示时,可以把减负数用补码表示时,可以把减法转化为加法法转化为加法。补码的定义补码的定义:1 1、定点小数、定点小数例如例如+0.1011+0.1011,则,则 补补0.10110.1011;-0.1011-0.1011,则,则 补补10+10+10.0000-0.101110.0000-0.1011 1.0101
14、1.0101正数的补码就是本身正数的补码就是本身负数的补码需作运算负数的补码需作运算 x x 1 1 x x 00 2+x=2-|x|2+x=2-|x|0 0 x x-1 -1 (mod 2)(mod 2)10.0000 10.0000 -0.1011-0.1011 1.0101 1.0101小数:X 1-2-(n-1)X0 x补=2+X=2-|X|0X-1 完成下列数的真值到补码的转换X1 =+0.1011011 X2 =-0.1011011 X1 1补补=01011011X2 2补补=10100101 根据补码定义,求负数的补码时需作一次减法运算,这显然不根据补码定义,求负数的补码时需作一
15、次减法运算,这显然不是补码方法的初衷。后面将介绍反码表示法可以解决负数的求补是补码方法的初衷。后面将介绍反码表示法可以解决负数的求补问题。问题。2 2、定点整数、定点整数例:已知例:已知x=+10111,x=+10111,y=-11011,y=-11011,求求 xx补、补、yy补补 (n=5)(n=5)按定义:按定义:xx补补 =0 01011110111yy补补 =2 25+15+1+y=+y=10000001000000-1101111011=1 10010100101 x x 2 2n n x x 00 2 2n+1n+1+x+x=2 2n+1n+1 -|x|-|x|0 0 x x -
16、2 2n n(mod(mod 2 2n+1n+1)1000000 1000000-11011 11011 100101 100101注:上式注:上式机器数机器数的位数为的位数为n+1n+1整数:X2(n-1)-1X0 x补=2n+X=2n-|X|0X-2(n-1)完成下列数的真值到补码的转换X1=+01011011X2=-01011011X1 1补补=01011011X2 2补补=10100101注注:0 0的补码只有一种形式的补码只有一种形式 对于对于定点小数定点小数:00补补 00补补0.00000.0000 对于对于定点整数定点整数:00补补 00补补00000.00000.因此,补码的
17、表示范围相对于原码、反码来因此,补码的表示范围相对于原码、反码来讲多一种,讲多一种,定点小数定点小数可以表示可以表示-1-1,n+1n+1位位定点整定点整数数可以表示可以表示-2-2n n。3.3.反码表示反码表示法法二进制数求反二进制数求反:就是二进制的各位数码:就是二进制的各位数码0 0变为变为1 1,1 1变为变为0 0。即:若即:若 x xi i=0=0,则则 =1=1。若若 x xi i=1=1,则则 =0.=0.对对定点小数定点小数,反码的定义参见书。反码的定义参见书。正数的反码就是本身正数的反码就是本身负数的反码则是符号负数的反码则是符号位为位为1 1,数值位求反。,数值位求反。
18、x x 1 1 x x 00(2-(2-2 2-n-n)+x=+x=(2-(2-2 2-n-n)_ _|x|x|0 0 x -1 x -1 ixix由上式可以得出:由上式可以得出:xx反反+|x|=1.1111=+|x|=1.1111=10.0010.00-0.0010.001 =2-2-2 2-n-n得出:得出:反反(2(22 2n n)0 0 x x -1 -1比较反码与补码的公式比较反码与补码的公式 反反(2(22 2n n)补补2 2可得到:可得到:补补 反反2 2n n由此可知一个由反码求补码的重要公式,即:由此可知一个由反码求补码的重要公式,即:一个一个负数负数的补码,可以通过将该
19、数的补码,可以通过将该数 符号位置符号位置1 1,其,其余取反,然后在最末位(余取反,然后在最末位(2 2-n-n)上加上加1 1 的方法直接的方法直接获得。获得。4.4.移码表示法移码表示法 在计算机中,移码通常用于表示浮点在计算机中,移码通常用于表示浮点数的阶码。由于阶码一般取整数,所以数的阶码。由于阶码一般取整数,所以移码通常只用于移码通常只用于整数整数的表示。的表示。对定点整数对定点整数,移码的定义是:移码的定义是:移移2 2n n2 2n n2 2n n (n n为移码数值部分的位数)为移码数值部分的位数)移码表示法X移=2n-1+X 2n-1-1 X-2n-1 X X1 1=010
20、1 0101=0101 0101XX1 1 补补=0101=0101 01010101XX1 1 移移=1101 0101=1101 0101X X2 2=-0101 0101=-0101 0101XX2 2 补补=1010 1011=1010 1011XX2 2 移移=0010 1011=0010 1011移码在数轴上的表示p 定点小数没有移码定义 p 平行移动 p 移码为全0时表示真值最小,为-8;移码为全1时,表示真值最大,为+7 数值 15 7-8 0 0 编码 例例:若阶码:若阶码数值数值部分为部分为5 5位位,以以表示真值,则表示真值,则 移移2 25 5 2 25 5 2 25
21、5 又例又例:当正数当正数10101 10101 时时,移移1,101011,10101 当负数当负数10101 10101 时时,移移2 25 52 25 510101101010,010110,01011。注意到注意到:移码中的移码中的逗号逗号不是小数点不是小数点,而是表示左边一位而是表示左边一位是符号位。显然是符号位。显然,移码中符号位移码中符号位0 0表示的规律与原码、表示的规律与原码、补码、反码相反。移码的表示范围和补码一致,补码、反码相反。移码的表示范围和补码一致,0 0只只有一种表示方式,只是符号位正好相反。有一种表示方式,只是符号位正好相反。机器码表示法小结:在数据的四种机器表
22、示法中,正数的原码、反码、补在数据的四种机器表示法中,正数的原码、反码、补码等于真值,只有负数才分别有不同的表示方法。码等于真值,只有负数才分别有不同的表示方法。补码和移码的补码和移码的0 0只有一种表示方法只有一种表示方法,因此其表示范围因此其表示范围相对于原码和反码多一种,定点小数可表示相对于原码和反码多一种,定点小数可表示-1-1(移码(移码没有小数形式),正数可表示没有小数形式),正数可表示-2-2n n。移码表示法主要用于表示浮点数的阶码,可以直接移码表示法主要用于表示浮点数的阶码,可以直接比较大小。表示范围和补码相同,只有最高位相反。比较大小。表示范围和补码相同,只有最高位相反。4
23、2各种编码+3-1-0-3111+2-2-1-2110+1-3-2-11010-4-3-0100-1+3+3+3011-2+2+2+2010-3+1+1+1001-40+0+0000移码补码反码原码BinaryNumber StoredNumber StoredNumber RepresentedNumber Represented由于补码表示对加减法运算十分方便,因此目前机由于补码表示对加减法运算十分方便,因此目前机器中广泛采用补码表示法。在这类机器中数用补码器中广泛采用补码表示法。在这类机器中数用补码表示,补码存储,补码运算。(也有些机器,数用表示,补码存储,补码运算。(也有些机器,数用原
24、码进行存储和传送,运算时改用补码。还有些机原码进行存储和传送,运算时改用补码。还有些机器在做加减法时用补码运算,在做乘除法时用原码器在做加减法时用补码运算,在做乘除法时用原码运算)运算)6.3 6.3 定定 点点 运运 算算6.3.1 6.3.1 移位运算移位运算1.1.移位的意义移位的意义15 15 米米 =1500 =1500 厘米厘米 小数点右移小数点右移 2 2 位位机器用语机器用语15 15 相对于小数点相对于小数点 左移左移 2 2 位位(小数点不动小数点不动 ).左移左移 绝对值扩大绝对值扩大右移右移 绝对值缩小绝对值缩小在计算机中,在计算机中,移位与加减配合,能够实现乘除运算移
25、位与加减配合,能够实现乘除运算2.2.算术移位规则算术移位规则1 1右移右移 添添 1 1左移左移 添添 0 00 0反反 码码补补 码码原原 码码负数负数0 0原码、补码、反码原码、补码、反码正数正数添补代码添补代码码码 制制符号位不变符号位不变例例6.166.16设机器数字长为设机器数字长为 8 8 位(含一位符号位位(含一位符号位),),写出写出A A=+26=+26时,三种机器数左、右移一位和两位后的时,三种机器数左、右移一位和两位后的表示形式及对应的真值,并分析结果的正确性。表示形式及对应的真值,并分析结果的正确性。解:解:A A=+26=+26则则 A A 原原 =A A 补补 =
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 运算 方法 2013 V1 21
限制150内