资源目录
压缩包内文档预览:
编号:185733702
类型:共享资源
大小:46.99MB
格式:ZIP
上传时间:2022-01-16
上传人:考****
认证信息
个人认证
武**(实名认证)
山西
IP属地:山西
30
积分
- 关 键 词:
-
计算思维
计算
思维
教学
课件
PPT
- 资源描述:
-
《计算思维》教学课件PPT,计算思维,计算,思维,教学,课件,PPT
- 内容简介:
-
第 3 章 进位计数值的基本原理数据信息是计算机加工和处理的对象,数据信息的表示有多种形式。从外部信息来看,在计算机系统内部,可表示成文件、图、表、树、阵列、链表、栈、向量、串、实数、整数、布尔数、字符等。当然,并不是这些数据类型在计算机内部都是直接用硬件实现的。硬件能够直接识别,能被指令系统直接调用的只是一些常用的、简单的几种基本数据类型,如:定点数(整数)、浮点数(实数)、逻辑数(布尔数)、十进制数、字符、字符串等。而那些复杂的数据类型则是由基本数据类型按某种结构描述方式在软件中实现的,是数据结构研究的问题。本章讨论计算机内部各类基本数据的表示方法及相互间的等值交换,及磁存储的原理。3.1 数据、信息和媒体3.1.1 数据平时人们所说的“数据”,是指可比较其大小的一些数值。但信息处理领域中数据的概念要大得多。世界上的一切事物和现象都可以通过一组特征“数据”去描述它。对于计算机来说,它所处理的就是事物和现象的“特征描述数据”。例如,人们不可能将一座大楼输入到计算机中来进行处理,但可以将这座大楼的图纸输入到计算机中,还可以用照相机或摄像机拍下它的照片或摄下关于它发生的某些活动场景,然后将这些反映其特征的照片或活动图像输入到计算机中,也可以直接输入描述该大楼特征的一些文字、语音或表格数据等。也就是说,不管计算机要处理的对象是什么事物或现象,都必须通过某种方式获取其“特征描述数据”,才能在计算机中进行处理。国际标准化组织(ISO)对数据所下的定义是:“数据是对事实、概念或指令的一种特殊表达形式,这种特殊的表达形式可以用人工的方式或者用自动化的装置进行通信、翻译转换或者进行加工处理”。数据表达了一定的内容,即“事实、概念或指令”,也就是数据反映了事物或现象的特征,是事物或现象的描述信息;数据是一种“特殊的表达形式”,不仅可以通过人工加工处理,而且还可用自动化装置(如计算机系统)去高效率地对其进行加工处理、通信以及翻译转换。根据这个定义,通常意义下的数值、文字、图画、声音、活动图像等对于人来说都可以认为是数据。从计算机的外部功能来看,计算机可以进行数值计算、处理公文和报表、识别和合成语音、绘制图形、生成和识别图像、编辑播放活动图像等。也就是说,从用户角度来看,计算机能够处理数值、文字、声音、图画、活动图像等。但是,在计算机内部,数字、文字、图画、声音、活动图像等不能直接由计算机进行处理和存储,它们必须采取“特殊的表达形式”才能由计算机进行通信、转换或加工处理。这种特殊的表达形式就是二进制编码形式,即采用二进制编码表示的数值、文字、图画、声音和活动图像才能由计算机进行处理(包括通信、转换及存储)。所以,在计算机系统中所指的数据均是以二进制编码形式出现的。通常,把计算机内部由硬件实现的基本数据区分为数值型数据和非数值型数据。数值型数据是指具有特定值的一类数据,可用来表示数量的多少,可比较其大小。对于通用计算机来说,非数值型数据包括字符数据、逻辑数据等。也有一些专用处理器,其指令集可对多媒体信息进行专门处理。这种情况下,也可将图画、声音和活动图像数据看成是非数值型数据。3.1.2 信息要严格区分数据和信息,不十分容易。根据ISO的定义,可以通俗地认为,信息是对人有用的数据,这些数据可能影响到人们的行为和决策。信息与数据的关系可以简单概括为:信息是对数据的解释,而数据是信息的载体。实际上,计算机对信息的处理,就是由计算机进行数据处理的过程。即是通过数据的采集和输入,有效地把数据组织到计算机中,由计算机系统对数据进行相应的处理加工(如:存储、建库、转换、合并、分类、计算、统计、汇总、传送等操作),最后向人们提供有用的信息,这个全过程就是信息处理。简言之,信息处理的本质即是数据处理,数据处理的主要目标是获取有用的信息。3.1.3 媒体媒体又称媒介、媒质,是指承载信息的载体。根据国际电信联盟(ITU)下属的国际电报电话咨询委员会(CCITT)的定义,与计算机信息处理有关的媒体有5种。(1)感觉媒体:能使人类听觉、视觉、嗅觉、味觉和触觉器官直接产生感觉的一类媒体,如声音、文字、图画、气味等,它们是人类使用信息的有效形式。(2)表示媒体:为了使计算机能有效地加工、处理、传输感觉媒体而在计算机内部采用的特殊表示形式,即声、文、图、活动图像的二进制编码表示。(3)存储媒体:用于存放表示媒体以便计算机随时加工处理的物理实体,如磁盘、光盘、半导体存储器等。(4)表现媒体:用于把感觉媒体转换成表示媒体、表示媒体转换为感觉媒体的物理设备,前者是计算机的输入设备,如键盘、扫描仪、话筒等,后者是计算机的输入设备,如显示器、打印机、音箱等。(5)传输媒体:用来将表示媒体从一台计算机传送到另一台计算机的通信载体,如同轴电缆、光纤、电话线等。图3.1描述了现实世界中信息与计算机内部的基本数据之间的转换过程。图3.1 计算机外部信息与内部数据的转换3.2 进制的概念在人类的生产实践和日常生活中,总要遇到数的表示问题。人们创造了许多种表示数的方法,这些表示数的方法统称为进位计数制。3.2.1 进位计数制的基本概念讨论进位计数制首先要涉及两个基本问题,即基数(Radix)和权(Weight)。 在进位计数制中,每个数位可能会用到的不同数码的个数叫做基数。以十进制为例,每个数位允许选用09共10个数码中的某一个,因此十进制的基数为10;每个数位计满10就向高位进位,即逢十进一。 在一个数中,数码在不同的数位上所表示的数值是不同的。每个数码所表示的数值就等于该数码本身乘以一个与它所在数位有关的常数,这个常数叫做位权,简称权。例3.1:十进制数4952.25,数码“4”表示 4000,该位的权为1000,这一位所代表的数值等于数码4乘以权值1000,即41000,“9”表示900,该位的权值为100,这一位所代表的数值等于数码9乘以权值100,即9100, “5”表示510,“2”表示21,同样的道理,小数点后的“2”表示20.1,“5”表示50.01。所以,一个数的数值大小就是它的各位数码按权相加,如: 4952.25 = 4103+ 9102+ 5101+2100+210-1+510-2由此可见,任何一个十进制数D:D = KnKn-1K1K0.K-1K-2K-m (m, n为正整数)其值可以用一个多项式来表示:(D)10 = Kn10n+ Kn-110n-1 + +K1101+ K0100+ K-110-1+K-(m-1) 10-(m-1) + +Km 10m 上式中:Ki的取值是 09 中的一个数码,m和n为正整数。推广来看,一个基数为 R的 R进制数N:N = KnKn-1K1K0.K-1K-2K-m (m, n为正整数)其值均可以用一个多项式来表示:(N)RKnRn+ Kn-1Rn-1 + +K1R1+ K0R0+ K-1R-1+K-(m-1) R-(m-1) + +Km Rm 上式中,R为基数值,表示系数Ki可以取0,1,R-1共R个数字并且是逢R进一。Ri (-min, i为正整数)表示位权值。KiRi表示Ki在数列中所代表的实际数值。3.2.2 常用的进位计数制及不同进制计数之间的转换1 常用的进位计数制人们在日常生活中最常用的是十进制。除了十进制,常用的进位计数制有二进制、八进制和十六进制等。通常为了表示时清楚起见,用(X)R的形式表示R进制数,或在数字后加上后缀以区分所采用的数制。例3.2 常用的进位计数制二进制数:基数为2,每一位数字的取值范围是0 1,计数规则是“逢二进一”,后缀为B(Binary),如(10100011.1101)2 = 10100011.1101B。八进制数:基数为8,每一位数字的取值范围是0 7,计数规则是“逢八进一”,后缀为Q(Octal),如(137.67)8 = 137.67Q。十进制数:基数为10,每一位数字的取值范围是0 9,计数规则是“逢十进一”,后缀为D(Decimal)或不用后缀,如(125.46)10 = 125.46D = 125.46。十六进制数:基数为16,每一位数字的取值范围是0 9,A F,计数规则是“逢十六进一”,后缀为H(Hexadecimal),如(A9BF.36E)16 = A9BF.36EH。表3-1列出了以上二、八、十、十六四种进位制数之间的对应关系。表3-1 四种进位制之间的对应关系二进制数八进制数十进制数十六进制数000000010010001101000101011001111000100110101011110011011110111101234567101112131415161701234567891011121314150123456789ABCDEF在上述常用进位计数制中,二进制数只有两种数字符号,便于数字系统与计算机内部的表示与存储;并且,二进制运算规则的简便使得运算电路的简单以及相关控制的简化,因此,计算机内部所有的信息采用二进制来表示。但是为了书写和阅读的方便,大都采用八、十或十六进制表示形式。计算机在数据输入后或输出前都必须实现这些进位制数之间的转换。2 常用的进位计数制之间的转换根据任何两个有理数相等,则这两个有理数的整数部分和小数部分分别相等的原则,以按权展开多项式为基础,可以进行不同进制数之间的等值转换。(1) 任意进制数转换成十进制数任何一个R进制数转换成十进制数时,只要“按权展开”即可。例3.3 二进制数转换成十进制数。(10101.01)2=(124+023+122+021+120+02-1+12-2)10=(21.25)10例3.4八进制数转换成十进制数。 (307.6)8=(382+780+68-1) 10=(199.75) 10例3.5十六进制数转换成十进制数。 (3A.C)=(3161+10160+1216-1) 10 =(58.75) 10 (2) 十进制数转换成任意进制数将十进制数转换为任意进制数时,整数部分与小数部分需分别进行转换。整数部分的转换方法是“除基取余”,小数部分的转换方法是“乘基取整”。A) 整数部分的转换如上所述,整数部分的转换方法是“除基取余”,具体的规则如下:a) 把被转换的十进制整数除以基数R,所得的余数即为R进制整数的最低数字;b) 把前次计算所得到的商再除以基数R,所得余数即为R进制整数的相应位数字;c) 重复步骤b,直到商为0为止。例 3.6 将十进制整数835分别转换成二、八进制数。 8352417220821042余数1100高位262522132623212001011(835)10=(1101000011)2低位083581048138180余数3051低位高位(835)10=(1503)8B) 小数部分的转换 利用“乘基取整”法将十进制小数转换为R进制小数的规则:a) 把被转换的十进制小数乘以基数R,所得乘积的整数部分即为R进制小数的最高位数字;b) 将前次计算所得到的成绩的小树部分再乘以基数R,所得新的乘积的整数部分即为R进制小数的相应位数字;c) 重复步骤b,直到乘积的小数部分为0或求得所要求的位数为止。例3.7 将十进制小数0.6875分别转换成二、八进制数。0.68752 = 1.375 0.3752 = 0.750.752 = 1.50.52 = 1.0小数部分高位低位1110(0.6875)10 = (0.1011)20.68758 = 5.5 0. 52 = 4.0小数部分高位低位54(0.6875)10 = (0.54)8例3.8将十进制小数0.63转换成二进制数。0.632 = 1.26 0.262 = 0.520.522 = 1.040.042 = 0.08小数部分高位低位1010(0.63)10 = (0.1010)2 (近似值)含整数、小数部分的数的转换只要将整数、小数部分分别进行转换,然后将这两部分结果组合起来就得到完整的转换结果。例3.9 将十进制数835.6875转换成二、八进制数。(835.6875) 10=(1101000011.1011) 2=(1503.54) 8 (3) 二进制数转换成八进制数、十六进制数因为23 = 8,24 = 16,所以二进制数与八进制数、十六进制数之间的转换可以利用它们之间的对应关系直接进行转换。A) 将二进制数转换成八进制数的方法a) 将二进制数的整数部分从最低有效位开始,每三位二进制数对应一位八进制数,不足三位的情况下,高位补0;b) 将二进制数的小数部分从最高有效位开始,每三位二进制数对应一位八进制数,不足三位的,低位补0。例3.10 将(10011.01)2转换成八进制数。 (10011.01) 2 = ( 010 011 . 010 ) 2 = (23.2) 8 B) 将二进制数转换成十六进制数的方法a) 将二进制数的整数部分从最低有效位开始,每四位二进制数对应一位十六进制数,不足四位的情况下,高位补0;b) 将二进制数的小数部分从最高有效位开始,每四位二进制数对应一位十六进制数,不足四位的,低位补0。例3.11将(10011.01)2转换成十六进制数。(10011.01) 2 = ( 0001 0011 . 0100 ) 2 = (13.8) 163 进位计数制的历史渊源其实,进位计数制并不是电子科学发展的产物,早在中国的古时候,进制计数制就得到了古代科学家们的研究。这里,要说说最典型的八卦与二进制的关系。这里引用易经中的一句话概括八卦就是“太极生两仪,两仪生四象,四象生八卦”。八卦由八个形状各异的卦组成,每个卦有各自的卦象和卦名:卦象卦名读音坤艮坎巽震离兑乾kungenkanxunzhenliduiqian图3.2 八卦的卦象、卦名仔细观察会发现,虽然八卦的各个卦相完全不同,但他们都是由两个基本元素“ ”和“ ”构成。他们分别命名为:阳爻“ ”和阴爻“ ”。爻(yao)就是组成八卦的长短横画符号。二进制数由 “0”和 “1”两个数码组成,而八卦图由阴爻“ ”和阳爻“ ”两个符号组成。如果把八卦图的两个符号与二进制的两个数码互相对应:阴爻“ ”对应数码 “1”,阳爻“ ”对应数码 “0”这样就能方便地把二进制数与八卦图联系起来。例如,3个数位可构成8个二进制数:000、001、010、011、100、101、110、111(实际上它们就是十进制数0、1、2、3、4、5、6、7的二进制表示)。如果,把“1”、“0”与“ ”、“ ”分别对应,就能方便地由二进制数转换成八卦图形如下:卦象卦名坤艮坎巽震离兑乾二进制数000001 010 011 100 101 110 111图3.3 二进制数与八卦的对应关系如上文中所提到的,八卦的生成过程可以概括成:“太极生两仪,两仪生四象,四象生八卦”,下图是八卦生成过程和二进制数生成过程的比较。由图3.4可以看到,八卦生成跟二进制原理是一致的。坤艮坎巽震离兑乾000001 010 011 100 101 110 1110100011011根太极两仪四象八卦图3.4 八卦与二进制数生成过程的比较在古代科学中,除了八卦之外,与进制位计数相关的还有算盘计数,现代常用的算盘中的“五去四进一”的运算规则中便体现了五进制的计数方法;三字经中提到的“此五行,本乎数”,仔细的分析,可以知道,本乎数”中的“本”是动词,是“奠定基础”的意思;“乎”是介词,相当于“于”,理解为“在”;“数”特指一二三四五这五个基本数字:这句话的意思是:“五行金木水火土这个从宇宙中抽象出来的事物的五种属性,是建立在“一二三四五”这五个基本的数字的基础上的,它们就是由最简单的元素经过组合变化而形成的,这其中也是包含了五进制的计数思想。3.3 定点数与浮点数日常生活中所使用的数有整数和实数之分,整数的小数点固定代数的最右边,可以省略不写,而实数的小数点则不固定。前面讲过在计算机所有的信息均由二进制表示,因此,计算机中只能识别和表示“0”和“1”,而无法识别小数点。因此,要使得计算机能够处理日常使用的这种“数值”数据,必须要解决小数点的表示问题。计算机中是通过采用相应的定点与浮点表示规则来解决该问题的。3.3.1 定点表示定点表示法用来对纯小数和整数进行表示。对于纯小数,其小数点总是固定在数的最左边,因此可用一种“定点小数”来表示纯小数。若计算机中一个0/1序列是“定点小数”的话,则小数点隐含在数的最左边,其结果总是0.xxx。因此,对于存放在一个n位寄存器中的定点小数X(不考虑符号),其表示范因为2-n|X|l-2-n”。对于整数,其小数点总是固定在数的最右边,因此可用一种“定点整数”来表示整数。若计算机中的一个0/1序列是“定点整数”的话,则小数点隐含在数的最右边,其结果总是xxx。因此,对于存放在一个n位寄存器中的整数X(不考虑符号),其表示范围为0|X|2n l。在计算机内部,因为进行数据存储、运算和传送的部件的位数都是有限的,所以,不管采用什么表数方法,都只能表不一定范围内的有限个数。如果运算的结果小于能表示的最小数,则计算机把它当成0处理;若是大于能表示的最大数,则会发生“溢出”。定点数的表示范围小,用定点数来进行运算很容易产生溢出。为了扩大计算机的表数范围,一般采用浮点表示法。3.3.2 浮点表示对于任意一个二进制数X,可以表示成如下形式:X = (-1)sMRE 其中s取值为0或l,决定数X的符号,M是一个二进制定点小数,称为数X的尾数;E是一个二进制定点整数,称为数X的阶码。R是基数,可以取值为2、4、16等,在基数R一定的情况下,尾数M的位数反映数X的有效位数,它决定其表数精度,有效位数越多,表数的精度就越高。而阶码E的位数将决定数X的表数范围,阶码E的值,确定小数点的位置。从浮点数的形式来说,绝对值最小的数是如下形式的数:0.001R-111,而绝对值最大的数的形式应为:0.001R111,所以,假设L和m分别表示阶码和尾数的位数,基数为2,则浮点数X的绝对值的范围为:上述公式中,紧靠|X|左右两边的两个因子就是定点小数的表数范围,浮点数的最小数是定点小数的最小数2-n去除以一个很大的数,而最大数则是定点小数的最大数(1-2-n)去乘以这个大数,因而浮点数的表数范围比定点数要大得多。3.3.3 IEEE754 浮点数标准二进制浮点数的表示,由于不同机器所选用的基数值、尾数位长度和阶码位长度不同,因此对浮点数表示有较大差别,这就不利于软件在不同计算机间的移植。美国IEEE(电子及电子工程师协会)为此提出了一个从系统结构角度支持浮点数的表示方法,称为IEEE标准754(IEEE,1985),当今流行的计算机几乎都采用了这一标准。IEEE 754标准在表示浮点数时,每个浮点数均由三部分组成:符号位S,指数部分E和尾数部分M。(在计算机的表示中,数的符号位用0和1表示,0表示正数,1表示负数,在第四章编码系统中将详细讲述数符知识。)S E M 数符 指数 尾数其中,浮点数可以采用以下四种基本格式:(1) 单精度格式(32位):E = 8位, M = 23位;(2) 扩展单精度格式:E 11位, M = 31位;(3) 双精度格式(64位):E = 11位, M = 52位;(4) 扩展双精度格式:E 15位, M 63位;例3.12 IEEE754单精度浮点数格式目前广泛采用的IEEE754浮点数据编码标准中,32位单精度浮点数表示格式为: 1位 8位 23位S E M 数符 指数 尾数在IEEE 754标准中由32位单精度所表示的浮点数 N 的数值为: 3.4 编码系统从上述定点/浮点数的表示来看,在计算机内一个浮点数可以用一个定点整数和一个定点小数来表示。因此,在考虑有关数的编码问题时,只需要考虑定点数的编码表示。计算机内部二进制数据除了小数点以外,还有符号和数值两部分。其数值部分的基本符号,因为只有两种数字0和1,因此能用具有两个稳定状态的物理器件很容易地表示。而符号也只有正、负两种情况,因此,也可考虑用具有两个稳定状态的物理器件来表示。这样,符号就可以看成和数值部分一样,其取值也是0或1,即在计算机中表示带符号的数值数据时,数符和数据均采用0、1进行了代码化。这种采用二进制表示形式的连同数符一起代码化了的数据,在计算机中统称为机器数或机器码。而与机器数对应的用正、负符号加绝对值来表示的实际数值称为真值。机器数可分为无符号数和带符号数两种。无符号数是指计算机字长的所有二进制位均表示数值。带符号数是指机器数分为符号和数值部分,且均用二进制代码表示。7 0 0数 值例3.13 设某机器的字长为8位,无符号整数在机器中的表示形式为:7 6 0 0符号 数 值带符号整数在机器中的表示形式为:分别写出机器数10011001作为无符号整数和带符号整数对应的真值。 【解】10011001作为无符号整数时,对应的真值是(10011001)2 = (153)1010011001作为带符号整数时,其最高位的数码1代表符号“-”,所以与机器数10011001对应的真值是(-0011001)2 = (-25)10在计算机中,为了便于带符号数的运算和处理,对带符号数的机器数有各种定义和表示方法,下面将介绍带符号数的原码、补码和反码的表示。为了阐述的方便,下文中,我们假设机器的字长均为8位。3.4.1 原码表示原码是一种简单、直观的机器数表示方法,其表示形式与真值的形式最为接近。原码表示规定机器数的最高位为符号位,0表示正数,1表示负数,数值部分在符号位后面,并以绝对值的形式给出。例如:X = + 100101, 其原码表示为X原 = 00100101。X =100101, 其原码表示为X原 = 10100101。3.4.2 反码表示正数的反码与原码相同,负数的反码为对该数的源码除符号外各位取反。所谓取反就是将1变成0,0变为1。例如:X = + 100101, 其原码表示为X反 = 00100101。X =100101, 其原码表示为X反 = 11011010。3.4.3 补码表示补码表示法的指导思想:把负数转化成正数,使减法变成加法,从而使正负数的加减运算转化成单纯的正数相加运算。补码表示法:如果X0时,其补码与原码相同;如果X0时,其补码符号位为1,其他各位求反码,然后在最低位加1。如:X =100101, X补 = 1 1011010 + 1 = 11011010表3-2列出了常用原码、反码、补码的对照表。表3-2 常用原码、反码、补码对照表数值原码反码补码0000000000000000000000000-0100000001111111100000000+1000000010000000100000001-1100000011111111011111111-15100011111111000011110001-1271111111110000000100000013.5 非数值数据的编码表示在前面已经提到,对于逻辑数据、字符及图像、声音和视频等多媒体数据都是非数值数据,在机器内部它们也用二进制表示。下面将分别介绍字符非数值数据的编码表示。3.5.1 西文字符编码西文是由拉丁字母、数字、标点符号及一些特殊符号所组成的,它们统称为“字符”(character)。常用字符的集合叫做“字符集”。字符不能直接在计算机内部进行处理,因而也必须对其进行数字化编码,字符集中的每一个字符都有一个代码(二进制编码的0/1序列),这些代码具有唯一性,互相区别,构成了改字符集的代码表。目前,计算机中使用的最广泛的西文字符集及其编码是ASCII码,即美国标准信息交换码(American Standard Code for Information Interchange),ASCII字符编码见表3-3。由表3-3中可以看出,基本的ASCII字符集共有128个字符,包括95个可打印字符(常用的字母、数字、标点符号等)和33个控制字符,每个字符使用7个二进位进行编码(叫做标准ASCII码)。其中b6b5b4是高位部分,b3b2b1b0是低位部分。虽然标准ASCII码是7位的编码,但由于字节是计算机中最基本的存储和处理单位,故一般仍以一个字节来存放一个ASCII码。每个字节中多余出来的一位(最高位),在计算机内部通常保持为“0”,在数据传输时可用作奇偶校验位。表3-3 标准ASCII字符集及其编码b6b5b4=000b6b5b4=001b6b5b4=010b6b5b4=011b6b5b4=100b6b5b4=101b6b5b4=110b6b5b4=111b3b2b1b0=0000NULDLESP0Ppb3b2b1b0=0001SOHDC1!1AQaqb3b2b1b0=0010STXDC2”2BRbrb3b2b1b0=0011ETXDC3#3CScsb3b2b1b0=0100EOTDC4$4DTdtb3b2b1b0=0101ENQNAK%5EUeub3b2b1b0=0110ACKSYN&6FVfvb3b2b1b0=0111BELETB7GWgwb3b2b1b0=1000BSCAN(8HXhxb3b2b1b0=1001HTEM)9IYiyb3b2b1b0=1010LFSUB*:JZjzb3b2b1b0=1011VTESC+;Kkb3b2b1b0=1100FFFS,Nnb3b2b1b0=1111SIUS/?O_oDEL从表中可看出这种字符编码有两个规律:1) 字符09这10个数字字符的高三位编码为011,低四位分别为00001001。当去掉高三位时,低四位正好是二进制形式的09。这样既满足了正常的排序关系,又有利于实现ASCII与二进制数之间的转换。 2)英文字母字符的编码值也满足正常的字母排序关系,而且大、小字母的编码之间有简单的对应关系,差别仅在b5这一位上,若这一位为0,则是大写字母;若为1,则是小写字母。这使得大、小写字母之间的转换非常方便。3.5.2 汉字字符编码西文是一种拼音文字,用有限的几个字母可以拼写出所有单词。因此西文中仅需要对少量的字母和一些数学符号、标点符号等辅助字符进行编码,所以西文字符集的字符总数不超过256个,使用7个或8个二进位就可表示。而中文信息的基本组成单位是汉字,汉字也是字符。但汉字是表意文字,一个字就是一个方块图形。计算机要对汉字信息进行处理,就必须对汉字本身进行编码,但汉字的总数超过6万字,数量巨大,给汉字在计算机内部的表示带来了一系列问题。对于汉字字符在计算机内部的表示,必须考虑以下几个因素:1)不能有二义性,及不能和ASCII码有相同的编码。2)要与汉字在字库中的位置有关系,以便于汉字的处理、查找。3)编码应尽量要短。为了适应计算机处理汉字信息的需要,1981年我国颁布了信息交换用汉字编码字符集基本集(GB2312-80)。这个标准选出6763个常用汉字,为每个汉字规定了标准代码,以供汉字信息在不同计算机系统之间交换使用,这个标准成为国标码,又称国际交换码。 GB2312国标字符集中为任意一个字符(汉字或其他字符)规定了一个唯一的二进制代码。码表由94行(十进制编号093行)、94列(十进制编号093列)组成,行号称为区号,列号称为位号。每一个汉字或符号在马表中都有各自的位置,因此各有一个唯一的位置编码。该编码用字符所在的区号及位号的二进制代码表示,7位区号在左、7位位号在右,共14位,这14位代码就叫该汉字的“区位码”。因此区位码指出了该汉字在码表中的位置。汉字的区位码并不是其国标码(即国际交换码)。由于信息传输的原因,每个汉字的区号和位号必须各自加上32(即16进制的20h),这样区号和位号各自加上32之后的相应的二进制代码才是它的“国标码”,因此在“国标码”中区号和位号还是各自占7位。在计算机内部,为了处理与存储方便,汉字国标码的前后各7位分别用一个字节来表示,所以共需2个字节才能表示一个汉字。因为计算机中的中西文信息是混合在一起进行处理的,所以汉字信息如不予以特别的标识,则它与单字节的ASCII码就会混淆不清,无法识别。为了解决这个问题,采用的方法之一,就是使表示汉字的两个字节的最高位b7总等于“1”(英文中的字符的最高位b7总是为0)。这种双字节(16位)的汉子编码就是其中的一种汉字“机内码”(即汉字内码)。目前,汉字字符在计算机内部的表示大多数都是这种方式。例3.14 汉字的“大”的国标码为3473h (0011 0100 0111 0011B),前面的34h和字符“4”的ASCII码相同,后面的73h和字符的“s”的ASCII码相同,将每个字节的最高位各设为“1”后,得其在计算机内部的表示码B4F3h(1011 0100 1111 0011B )。这样就不会和ASCII码混淆了。随着亚洲地区计算机应用的普及及深入,汉字字符集及其编码还在发展。从我国的情况来看,为了适应计算机处理汉字信息的需要,我国先后颁布了3个汉字编码的国家标准:s GB2312标准1981年发布,共6763个常用汉字(简体字)和682个图形符号,并规定每个汉字用双字节(16位)表示,两个字节的最高位均为1,以便区别于ASCII字符;s GBK标准1995年发布,对GB2312进行了扩充,汉字总数达到21003个(包括了繁体字)。每个汉字也用双字节表示,并且与GB2312标准保持向下兼容。s GB18030标准2000年发布,2005年修订。采用不等长的编码方法,单字节编码(129个)表示ASCII字符,与ASCII码兼容;双字节编码(23940个)表示汉字,与GBK以及GB2312保持兼容;还有约158万个四字节编码用于表示 UCS/Unicode中的其他字符。GB18030既与现有汉字编码标准保持向下兼容(GB2312、GBK中包含的所有字符GB18030中也有,且编码相同),又与国际标准Unicode接轨(Unicode中包含的所有字符GB18030也都有,但编码不同),目前已在我国信息处理产品中强制贯彻执行。3.6 磁存储原理在上文中,我们关注数据如何表示,并在计算机中存储的形式。那计算机是如何将数据存储在计算机内部的呢?这是本节所关注的内容,本节将重点阐述计算机磁存储的原理。3.6.1 磁存储历史在磁存储出现之前,初级电脑存储介质是1890年Herman Hollerith发明的穿孔卡片。穿孔卡片的起源可追溯至19 世纪初的织布机:织布机靠穿孔卡片来传达定义及控制机器编织动作的指令。1890年,美籍德裔统计学家Herman Hollerich将穿孔卡片的想法运用于美国人口普查的数据制表,他创办了一家公司(后来渐渐成为IBM),将穿孔卡片用于制表机。IBM在50年代开始生产通用电脑时,将穿孔卡片用于存储及输入数据,很快其他许多电脑厂商也开始采用各种类型的穿孔卡片。一直到2002 年,IBM仍在研究穿孔卡片技术:一种系统能够在一张邮票大小的表面上存储2500万页的数据。图3.5计算机存储介质之穿孔卡片磁存储的历史可以回溯到1949年6月,一群IBM工程师和科学家那时正开始研发新的存储设备。他们当时研究的正是用于电脑的第一个磁存储设备,而这个设备改变了整个行业。四年之后,一小群IBM工程师率先将第一个电脑磁盘存储系统引入308 RAMAC (随机存取与控制)计算机。305 RAMAC驱动可以在50个磁盘上保存5百万字符。个人数据保存的密度仅为2kb/平方英尺。然而,随着60多年来信息技术的发展变革,磁存储技术已经可以在3.5英尺大小的驱动上存储3TB数据。3.6.2 磁场如何保存数据?电池电流磁场所有磁存储设备都通过电磁学原理读写数据。如图3.6所示,在基础物理原理中,电流通过导体的时候,导体周围会产生磁场。在图3.6中,电子是从阴极流向阳极,而不是我们通常认为的电子从阳极流向阴极。图3.6 电流通过时,导线周围产生磁场1819年汉斯奥斯特发现了电磁现象,即电线导体在通电时,产生的磁场对其范围内的磁性物质会产生影响,当电流方向或电压即行变换时,磁极也随之变换。同时,1831年,法拉第发现另一个电磁效应:如果导体通过移动的磁场,会产生电流,并且,电流方向随着磁极方向而改变(如图3.7所示)。仪表负电压(-)正电压(+)导体导体运动运动图3.7 移动的磁场产生电流,且电流随磁场变化因此,将交流发电机应用于磁存储设备时,这种双向的电磁作用便能在磁盘上记录和读磁化的介质颗粒(磁阵列)线圈磁铁磁盘移动未被磁化的介质颗粒介质颗粒基板取数据。记录的时候,磁头将电脉冲变为磁场;而读取的时候又将磁场转为电脉冲。在计算机的磁存储设备中,读写磁头是U型导体。U型磁头被线圈包裹,从而让电流通过,如图3.8所示。当电流通过线圈时,会在驱动磁头中产生磁场。并且,随着电流极性的改变,磁极也会改变,可以实现磁头电压在两极的快速改变。图3.8 读写磁头每一个磁头上都有一个微型电磁体,由包裹线圈的铁芯构成。该电磁体会施加一个磁通量到介质的氧化涂层上,氧化物能永久性地“记住”它感受到的磁通效
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。