计算机中数据的表示及其运算.ppt_第1页
计算机中数据的表示及其运算.ppt_第2页
计算机中数据的表示及其运算.ppt_第3页
计算机中数据的表示及其运算.ppt_第4页
计算机中数据的表示及其运算.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

计算机中数据的表示及其运算,计算机进行数据处理时,首先要将相应的数据输入到计算机中,并以一定的形式存储在计算机中。计算机内部是一个二进制数字世界,所以,不管是数值数据还是非数值数据,都必须转换成二进制数的形式,才能存入计算机中。 数值数据 有确定的值并在数轴上有对应的点。 是非数值数据 非数值数据没有确定的值,如字符、文字、图像、声音、逻辑数据等。,3)计算机中采用二进制的原因,(1)物理实现容易,(2)二进制运算简单,(3)机器可靠性高,(4)通用性强,图4.25 各种数据在计算机中的转换过程,431 进位计数制,1) 进位计数制 任何一种计数制,都具有以下三个要点: (1) 数制使用的数码。十进制含10个数码:;二进制含个数码:,等。 (2) 进位规则。十进制为逢十进一;二进制为逢二进一等。 (3) 每一个数位上数码所具有的权。十进制数码各位的权是以10为底的幂,二进制数码各位的权是以为底的幂。,例如,数828.8的值为 8102+2101+8100+810-1 其中,102、101、100、10-1称为权。 对于任何一个十进数N,都可以表示成按权展开的多项式: N=dn10n+dn-110n-1+d1101+d0100+d-110-1+d-m10-m = di10i 其中,di是09十个数字中的任意一个,m、n是正整数,10被称为十进制数的基数,它是相邻数位的权之比。,一般而言,对于用R进制表示的数N(R为任意正整数),可以按权展开为: N=KnRn+Kn-1Rn-1+K1R1+K0R0+K-1R-1+K-mR-m = KiRi 其中,Ki是0,1,(R-1)个数字中的任意一个,m、n是正整数,R是基数。,表4.1列出了计算机中常用的四种进位计数制。其中十六进制中的A,B,C,D,E,F分别相当于十进制中10,11,12,13,14,15的值。,在十进制中,如将某数的各位向左移动1位,则其值增大到原来的十倍;如将某数的各位向右移动1位,则其值减少到原来的十分之一。同样,在二进制中,如将数的各位向左移动1位,则其值增大到原来的二倍;反之将数的各位向右移动1位,则其值减少到原来的二分之一。例如,二进数101011.1在左移1位或右移1位后,其值的变化如下: 二进数 值 101011.1 43.5 向左移1位 1010111.0 87 向右移1位 10101.11 21.75,2) 不同进位计数制之间的转换,转换所依据的原则是:如果两个数的值相等,则两数的整数部分和小数部分的值一定分别相等。,(1) 二进制、八进制和十六进制数转换为十进制数。 任意R进制数转换成十进制数比较简单,只需按权展开然后相加,其和便是相应的十进制数。这种方法称为按权相加法。 【例4-1】 求与(11011.01)2等值的十进数 解:(11011.01)2=124+123+022+121+120+02-1+12-2 =16+8+0+1+0+0.25=(27.25)10 【例4-2】 将十六进制数35B转换成十进数. 解:(35B)16=3162+5161+11160=768+80+11=(859)10,(2) 十进制数转换成二进制数、八进制或十六进制数 整数部分:除基取余法,【例4-3】 把18转换成二进制数。 解: 2 18 余0(K0) 2 9 余1(K1) 2 4 余0(K2) 2 2 余0(K3) 2 1 余1(K4) 0 所以 (18)10=(10010)2,小数部分:乘基取整法,【例4-4】 将(0.8125)10转换成二进制数。 解: 0.8125 2 1.6250 1(K-1) 2 1.2500 1(K-2) 2 0.5000 0(K-3) 2 1.0000 1(K-4) 所以 (0.8125)10=(0.1101)2,(3)二进制数与八进制数的相互转换,二进制数转换成八进制数的方法可以概括为“三位并一位”; 八进制数转换成二进制数的方法可以概括为“一位拆三位”;,【例4-6】 将 (11101.1101)2转换成八进制数。 解: 0 1 1 1 0 1 . 1 1 0 1 0 0 3 5 6 4 所以 (11101.1101)2=(35.64)8,(4)二进制数与十六进制数的相互转换,二进制数转换成十六进制数的方法可以概括为“四位并一位” ; 十六进制数转换成二进制数的方法可以概括为“一位拆四位” ;,【例4-7】 将(25.C4)16转换成二进制数。 解: 2 5 . C 4 0010 0101 1100 0100 所以 (25.C4)16=(100101.110001)2,表4.2列出了二、八、十、十六进制数之间的对应关系。,432 机器数,一个数在计算机内部表示成的二进制形式称为机器数,原来的数称为这个机器数的真值。,机器数具有下列特点: (1) 由于计算机设备的限制,机器数有固定的位数,它所表示的数受到计算机固有位数的限制,所以机器数具有一定的范围,超过这个范围便会发生溢出。 (2) 机器数将其真值的符号数字化。计算机中使用具有两个不同状态的电子器件,它们只能分别表示数字符号“0”和“1”。所以,数的正负号也只能通过0和1来加以区分。通常,用机器数中规定的符号位(一般是一个数的最高位)取0或1分别表示其值的正或负。 (3) 机器数中依靠格式上的约定表示小数点的位置。,1)数据的符号表示问题,机器数在参与运算时,若将符号位和数值一起进行运算,有时会产生错误的结果。例如,6+4的结果应为2,但按上述方法,则运算如下: 10000110 6的机器数 + 00000100 4的机器数 10001010 结果为10,常用的几种机器数符号表示方法:原码、补码、反码、移码。,(1) 原码表示法,原码表示的规则是:最左边一位表示数的符号,且以“0”表示正号,“1”表示负号;其余各位表示数的大小,即其绝对值。,例如,假设机器数的位数是8,则 +73原=01001001 73 原=11001001 +127 原=01111111 127 原=11111111 对于真值0而言,可以被认为是+0,也可被认为是0。+0 =00000000,0 =10000000,所以数0的原码不唯一,有“正零”和“负零”之分。 原码表示简单易懂,与真值转换方便,用于乘除运算十分方便。,(2) 补码表示法,模的概念:“模”是指一个计量系统的计数范围。 例如: 时钟的模为12,计量范围是011。若时钟指向11,则再过1小时,时钟将指向0(即12)。 n位计算机的模为2n,计量范围是02n-1。设n=4,模为24=16,计量范围是015(二进制表示为00001111)。若当前值是1111,则再加1,计数值就变为0000,而在最高位上溢出了一个“1”。 任何有模的计量器,均可化减法为加法运算。只需把减数用相应的补码表示就可将减法运算化为加法运算。,对于整数而言,若计算机字长为n位,则 X 0X2n-1 X补= 2n+X 2n-1X0,时钟为例,设当前时钟指向11点,而准确时间应为7点,调整时间的方法有两种。一种方法是将时针倒拨4小时,即114=7;另一种方法是将时针顺拨8小时,即11+8=19=12+7=7。由此可见,在以12为模的系统中加8和减4的效果是一样的,即(4)=(+8)(Mod 12)。因此可以说,当以12为模时,4的补码为12+(4),即为+8。,例如,n=8时 +73 补=01001001 73 补=100000000-01001001=10110111 1 补=100000000-00000001=11111111 127 补=100000000-01111111=10000001,用补码表示整数时可表示的数值范围,仍以n=8为例, 当X0时,最大值为X补=01111111=+127; 当X0时,绝对值最大为X补=10000000=-27=-128。所以8位整数的表示范围是-128+127。 数0的补码表示是唯一的,即 0 补=+0 补=-0 补=00000000,真值与补码简便转换方法,对正数而言,补码与真值相同; 对负数而言,符号位取1,其它各位取反、末位加1;,【例4-8】 求36的补码。 解:第1步:将36表示成二进制数 00100100 第2步:符号位取1,其余各位取反得11011011 第3步:末位加1,结果为11011100 所以 36补 =11011100,【例4-9】 求11110110补的真值。 解:第1步:除符号位外,各位取反得10001001 第2步:末位加1,结果为10001010 所以 真值为(0001010)2,即(10)10,根据补码定义,可以证明 X 补+ Y 补= X+Y 补 X 补- Y 补= X -Y 补 这表明,两个补码加减的结果也是补码,而且在运算时,符号位可同数值部分作为一个整体参加运算,如果符号位有进位,则舍去进位。 【例4-10】 设a=4,b=6,请用补码求和方法计算(ab)。 解:因为a 补=00000100,b 补=11111010 且ab 补=a 补+b 补 =00000100+11111010 =11111110 所以 (ab)= 2,采用了补码表示法后,加法和减法统一成了加法运算,可以大大简化计算机运算部件的电路设计,所以现代计算机中都使用补码形式的机器数。,前已述及,利用“求反加1”的方法可以得到负数的补码。如在上述方法中,只求反而不加1,就得到另一种机器数的表示,这就是反码表示法。 反码定义为: X 0X2(n-1) X反 = (2n1)+X 2(n-1)X0 反码表示很少直接用于计算中。反码主要被用作真值求补码的一个过渡手段。,(3) 反码表示法,(4)移码表示法,对于n位整数,移码定义为 X移=2(n-1)+ X 2(n-1)X2(n-1) 即无论为正还是为负,都在符号位加“1” 或加2(n-1)。 例如,n=8时 36 移= 27 +00100100 =10100100 36 移= 27 + 11011100 = 01011100,在移码表示中,真值“0”的表示是唯一的: 0 移=10000 移码在计算机中主要用于表示浮点数中的阶,所以通常只使用整数。,原码、补码机、反码的共同特征: 如果真值为正,则这三种机器表示的最高位都为0; 如果真值为负,则这三种机器表示的最高位都为1。 移码表示时却正相反: 如果真值为正,则移码机器表示的最高位为1; 如果真值为负,则移码机器表示的最高位为0。,2)数据的小数点表示问题,有两种表示方法:定点表示法和浮点表示法。 (1) 定点表示法 约定计算机中所有数据的小数点位置是固定不变的。该位置在设计计算机时已被隐含地规定,因此勿需再用任何状态来明显表示小数点。这样的数被称为定点数,只能处理定点数的计算机称为“定点机”。,数符 .,尾数 .,小数点位置 (隐含约定),(2) 浮点表示法,浮点数:即数中小数点的位置不是固定不变的,而是可浮动的。在科学计算中,可能同时涉及值很大和很小的数。这时,要求计算机所表示的数,其小数点位置是可变的。,浮点数的表示形式 任何一个二进制数可表示成: (N)2 = 2r Ni2-I=2rM M(尾数)表示了数的有效数字; r被称为阶(或阶码),表示数的因子中基数的幂次,即为小数点的位置。,任何一个浮点数均由尾数和阶构成。尾数可正可负,同样阶也可正可负,所以浮点数的格式为:,一般规定,尾数为二进制定点纯小数,约定小数点在尾数最高位的左边;阶为二进制定点整数,其隐含基数为2,也可取4、8或16等。,(2) MS标准:,(1) IEEE标准:(多用于UNIX系统中),因此,可表示的最大数约为:,凡是处于下溢区中的浮点数,其绝对值小于计算机可表示之值,这时计算机认为该数为“0”,称为“机器零”。凡是处于上溢区中的浮点数,其绝对值大于计算机可表示之值,这时计算机将中断此计算工作,向用户发出信号,指出“出现上溢”。,图4.27示意地给出了在数轴上有两个可表示的浮点数区域,433 非数值数据的编码,由“0”和“1”组成的信息,在计算机中可分别代表不同的含义,有的表示机器指令,有的表示二进制数,有的表示英文字母,有的表示汉字,还有的可能表示色彩与声音。,1) 逻辑数据 逻辑数据是一种最简单的数据,它只有两个不同的值:“真”和“假”,所以在计算机中可以用二进制的“0”和“1”来表示。 理论上,逻辑数据只需二进制的1位就可表示和存储。但是,为了便于运算,在许多系统中往往用一个字节或一个字来表示和存储逻辑数据。有的系统也用“0”和“非0”来表示逻辑值“假”和“真”。,2)字符数据,字符是字母、数字、标点符号及一些特殊符号的统称。所有字符的集合称为“字符集”。目前,使用最广泛的字符集编码方式是ASCII码。,ASCII码:即美国标准信息交换码(American Standard Code for Information Interchange)已被国际标准化组织(ISO)批准为国际标准。 ASCII码采用7位二进制表示一个字符。以一个字节来存放一个ASCII字符。每个字节中多余的一位(最左边一位)保持为“0”。由于27=128,所以共有128种不同组合,可用来表示128种不同的字符,其中包括英文大小写字母、数字09、运算符(如+,/,=等)和各种控制符(如控制打印机的走纸符,换行符,响铃符等)。,将十进制数表示为二进制编码的形式,称为十进制数的二进制编码,简称二十进制编码或码。二十进制编码或BCD(BinaryCoded Decimal)码。 最常用的是8421码,它从4位二进制码中按计数顺序选取从0000开始的前10个码分别表示数字符号09。 8421码是一种带权码,4位二进制各位的权值由高到低分别是23,22,21,20,即8,4,2,1,因此而得名。 8421码书写直观,例如十进数1997可写成0001 1001 1001 0111。 须注意,8421码形式上像二进制数,但不是真正的二进制数,与(1997)10等值的二进制数是11111001101B,3)十进制数的二进制编码表示,表4.3 8421码,4)汉字编码,汉字是表意文字,其总数超过6万字。对数目繁多的汉字进行编码远比对西文字母的编码复杂得多。 根据汉字处理过程的不同,汉字有多种编码,主要可分为:汉字输入编码、汉字交换码、汉字机内码和汉字字形码。它们在汉字信息处理中的流程如图4.28所示,其中虚线框中的编码是对国标码而言。,图4.28 汉字信息处理系统的模型,汉字输入编码是用字母和数字对汉字进行的编码,目的是为了能使用只有字母和数字键的小键盘,将汉字输入计算机。方法大多是按照汉字的字形,或者字音,或者音形结合来对汉字进行编码的。常用的有拼音编码和五笔字型编码等。,(1)汉字输入编码,雷明顿工厂生产的第一台打字机,最老的中文铅字打字机,火热一时的四通中文打字机,汉字国标码也称交换码,是在不同计算机系统之间进行信息交换使用的编码。它是信息交换用汉字编码字符集基本集的简称,是我国国家标准总局于1981年颁布的国家标准,编号为GB231280。国标码由三部分组成:第一部分是字母、数字和各种符号,包括拉丁字母、俄文、日文平假名与片假名、希腊字母、汉语拼音等682个;第二部分为一级常用汉字,共3755个,按汉语拼音排列;第三部分为二级常用字,共3008个,按偏旁部首排列。共计7445 个字符。,(2) 汉字国标码,GB231280信息交换编码表,排成一张9494=8836的图形字符代码表,表2.4是其部分示意。 将表中的行称为区,列称为位。采用两个字节的7位二进制编码表示。以第一字节表示行,第二字节表示列,这就是国标区位码,简称区位码。,两个字节的区位码中每个字节可表示成一个两位的十进制数,这样一个汉字字符的区位码由4位数码组成,例如汉字“啊”,它的区位码是1601,即位于十进制数的第16区、第01位,对应的二进制编码第一字节为00010000,第二字节为00000001。 国标码是信息交换编码的十六进制表示形式,国标码与区位码有简单的对应关系:国标码=区位码+2020H。加2020H的目的是使两个字符都避免与ASCII码的控制字符冲突。仍以汉字“啊”为例,对应的二进制数第一字节为00110000,第二字节为00100001,即它的国标码是十六进制数3021H。,汉字系统中的机内码在编码时必须考虑到既能与ASCII码严格区分,又与国标GB231280汉字字符集有简单的对应关系。采用的方法之一是将表示一个汉字的国标码的2个字节的最高位都设置为“1”。以汉字“大”为例: 国标码为: 3473H 对应的二进制数为: 00110100,01110011B 机内码为: B4F3H 对应的二进制数为: 10110100,11110011B 由此可见,汉字内码与国标码之间的关系是: 机内码=国标码+8080H=区位码+A0A0H 用2字节的内码可表示汉字的个数是216-2=214=16384,足够覆盖常用的近8000个汉字。,(3)汉字机内码,(4)汉字字形码,汉字是形意文字,要在输出设备上显示一个汉字,通常是把单个汉字离散成网点,每点以一个二进制位表示,由此组成的汉字点阵字形(字模)称为汉字字形码。,例如,一个1616点阵汉字占16行,每行16个点在存储时用16/8=2个字节来存放,因此,一个1616点阵汉字占用32个字节。 通常汉字显示使用1616点阵,汉字打印可选用2424, 3232, 4848等点阵。点数愈多,打印的字体愈美观,但汉字库占用的存储空间也愈大。 要存储近8000个16*16点阵的汉字,至少需要约256KB的存储空间来存放汉字字元点阵,这样一种有规律的汉字点阵的集合称为汉字字形库简称汉字库。,每个汉字字形码在汉字字库中的相对位移地址称为汉字地址码。当需要输出汉字时,必须通过地址码,才能在汉字字库中取到所需的字形码,在输出设备上形成可见的汉字字形。,(5)汉字地址码,图4.28 汉字信息处理系统的模型,434逻辑运算基础,由于计算机的硬件中包含有可以实现各种逻辑功能的电路,并使用逻辑代数的规则进行各种逻辑判断。因此,计算机具有逻辑运算功能。 我们把“真”和“假”这两个不变的逻辑值,称为逻辑常量;把只能取“真”和“假”这两个逻辑值的变量,称为逻辑变量。 例如: “2大于1”的值为“真”; “15是偶数”的值为“假”; “X0”的值取“真”还是取“

温馨提示

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

评论

0/150

提交评论