当前位置:文档之家› W3-3-4

W3-3-4

1

第1章 计算机基础知识

电子计算机是20世纪40年代人类最伟大的科学技术成就之一,是电子技术和计算技术相结合的产物,是科学技术与生产力发展的结晶,也是现代社会最伟大的科技亮点之一。计算机的诞生极大地推动了科学技术的发展,对今天的人类生产和生活产生了巨大的影响。正是由于计算机的普及,才使人类社会进入了信息社会,使人们获得了一种全新的生活方式。

1.1 计算机概述

计算机是一种能快速、高效和准确地进行信息处理的数字化电子设备,它能按照人们事先编写的程序自动地对信息进行加工和处理,并输出处理结果,从而为人们的生产和生活服务。今天的计算机,不仅是狭义的算术和逻辑运算工具,它还帮助人们获取信息、传递信息和处理信息,这些信息是能被计算机识别和使用的所有数据。

1.1.1 计算机发展简史

1.电子计算机的诞生

世界上第一台电子计算机ENIAC (Electronic Numerical Integrator And Calculator ,电子数字积分计算机,见图1.1)是1946年2月由美国宾夕法尼亚大学物

理学家John Mauchly 和工程师J. Presper Eckert 研制成功的。

它采用电子管作为计算机的基本元件,体积庞大,用了18 000

多只电子管,1 500个继电器,10 000只电容,7 000个电阻,

体积3 000 ft3,占地170 m3,重量30 t ,每小时耗电150 kW 。

ENIAC 每秒钟可完成5 000次加法运算,不具有“机内存储

程序”的功能,其计算过程需要在计算机外通过开关和接线

来安排。虽然ENIAC 不能与现在的计算机相比,但它的研制

成功为以后计算机科学的发展奠定了基础,具有划时代的意

义,表明计算机时代的到来。在之后的历史中每克服它的一个缺点,都对计算机的发展带来很大影响,其中影响最大的就是“存储程序”思想的采用。这一思想是由美籍匈牙利数

学家冯·诺依曼(von Neumann )提出的,所以又称为“冯·诺依曼原理”。这一原理在计算机的发展过程中,始终发挥着重要影响,确立了现代电子计算机的基本组成和工作方式,开创了程序设计的时代。

2.第一代计算机(1946年—1955年)

这一时代称为“电子管计算机时代”,计算机主要用于科学计算研究和军事目的。这一代计算机的特征是采用电子管作为基本物理部件,一部计算机需要几千个电子管,每个电子管都会散发大量的热量,电子管的寿命最长只有3 000小时,计算机运行时常常发生由于电子管被烧坏而使计算机死机的现象。

3.第二代计算机(1956年—1963年)

这一时代称为“晶体管计算机时代”,计算机主要用于商业领域、大学和政府部门。这一代计算机的特征是采用晶体管作为基本物理部件。它的内存采用磁芯存储器,外存采用磁带,运算速度一般为每秒钟几百万条指令。

图1.1

ENIAC

4.第三代计算机(1964年—1971年)

这一时代称为“集成电路计算机时代”。这一代计算机的特征是采用中、小规模集成电路(Integrated Circuit,IC),在几平方毫米的单晶体硅片上可以集成几十个甚至几百个电子器件组成的逻辑电路,计算机变得更小,功耗更低,速度更快,稳定性更好。它的内存采用半导体存储器,外存采用磁带、磁盘,运算速度一般为每秒钟几千万条指令。这一时期的发展还包括使用了操作系统。

5.第四代计算机(1971年)

这一时代称为“大规模集成电路计算机时代”。这一代计算机的特征是以大规模集成电路为计算机的主要功能部件,大规模集成电路可以在一个芯片上容纳几百个元件。到了20世纪80年代,超大规模集成电路(Very Large Scale Integrated Circuit,VLSI)在芯片上可容纳几十万个元件,后来的(Ultra Large Scale Integration)将这一数字扩充到百万级,可以在硬币大小的芯片上容纳如此数量的元件使得计算机的体积和价格不断下降,而功能和可靠性不断增强。它的内存采用16 KB、64 KB或集成度更高的半导体存储器,外存采用磁盘、光盘等存储器,计算速度可达每秒钟数亿次。

1.1.2未来的计算机

未来的计算机将与各种新技术结合,从而开创出更多新的科学领域。

1.光子计算机

光子计算机是用光子代替电子,光互连代替导线互连,光元器件代替电子元器件,光运算代替电运算,使运算速度比现代计算机快千倍。在光子计算机中,不同波长的光代表不同的数据,这远胜于电子计算机中通过电子“0”、“1”状态变化进行的二进制运算,可以对复杂度高、计算量大的任务实施快速的并行处理。

光子计算机还具有与人脑相似的容错性。系统中某一元器件损坏或出错时,并不影响最终的计算结果。

2.生物计算机(分子计算机)

生物计算机是将生物工程技术产生的蛋白质分子作为原材料制成生物芯片,而蛋白质分子比硅晶片上电子元件要小得多,彼此相距甚近,因此生物计算机的体积将剧减。生物计算机完成一项运算,所需的时间仅为10 ps,比人的思维速度快100万倍,并且具有惊人的存储容量。生物计算机消耗的能量非常小,只有电子计算机的十亿分之一左右。由于生物芯片的原材料是蛋白质分子,所以生物计算机有自我修复、自我调节和自我再生的功能。

3.量子计算机

量子计算机是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。

量子计算机中数据用量子位存储。由于量子的叠加效应,一个量子位可以是0或1,也可以既存储0又存储1。因此一个量子位可以存储2个数据,同样数量的存储位,量子计算机的存储量比通常计算机大许多。同时量子计算机能够实施量子并行计算,其运算速度可能比目前个人计算机的Pentium Ⅲ芯片快10亿倍。

4.纳米计算机

纳米技术是从20世纪80年代初迅速发展起来的前沿科研领域,现在正从MEMS(Micro Electromechanical System,微电子机械系统)起步,把传感器、电动机和各种处理器都放在一个硅芯片上构成一个系统。应用纳米技术研制的计算机内存芯片,其体积不过数百个原子大小,相当于人的头发丝直径的千分之一。纳米计算机不仅几乎不需要耗费任何能源,而且其性能要比今天的计算机强大许多倍。

虽然分子、光子、量子和纳米计算机的研究还处在实验和研究阶段。但由于它们具有很高的应用价值,美国、欧洲各国和日本政府一直投入巨资资助相关研究,预计在未来一二十年内,这几种新型计算机可取得突破性进展。

1.1.3 计算机的分类和特点

计算机是一种具有计算功能、记忆功能和逻辑判断功能的机器设备。现在的计算机已经不再仅仅是一种计算工具,而是能够接收、发送、处理和保存信息的机器。

无论是什么级别的计算机,其基本组成大致相同,都是由输入设备、存储器、控制器、运算器及输出设备组成的。

1.计算机的分类

从不同的角度可以对计算机进行不同的分类,其分类如下:

①按使用范围分类,可以把计算机分为专用计算机和通用计算机。专用计算机是指为了满足某种特殊需要而设计的计算机,如图形处理机,配有大容量的内存和大屏幕的显示器,它具有强大的图形处理能力。通用计算机是指通用性好、综合处理能力强、适用于各种领域的计算机。

②按性能分类,可以把计算机分为巨型计算机、大型计算机、小型计算机、微型计算机和工作站。

③按处理数据的形态分类,可以把计算机分为数字计算机、模拟计算机和混合计算机。数字计算机处理的是非连续变化的数据,这些数据在时间上是离散的。模拟计算机处理的是连续的物理量,是连续变化的如电流、电压这样的模拟数据。模拟计算机是把模拟计算机与数字计算机联合在一起应用于系统仿真的计算机系统。

④按CPU芯片分类,可以将计算机分为286机、386机、486机、Pentium机、Pentium Ⅱ机、Pentium Ⅲ机、P4机等。

⑤按现实中的计算机分类,可以把计算机分为服务器(Server)、工作站(Workstation)、台式机(Desktop PC)、笔记本(Notebook)、掌上电脑(Handheld PC)。

2.计算机的特点

(1)运算速度快

运算速度是标志计算机的重要性能指标之一,巨型计算机的主机频率已超过了每秒几十亿次,甚至上万亿次。如我国2000年研制的由1 024个CPU组成的“银河-Ⅳ”巨型计算机系统,峰值性能达到每秒1.064 7万亿次浮点运算,其各项指标均达到当时国际先进水平,它使我国高端计算机系统的研制水平再上一个新台阶。2004年我国的曙光4000A成功研制,使中国成为继美国、日本之后第三个能研制10万亿次商品化高性能计算机的国家。2008年我国又研制成功了曙光5000A——“魔方”超级计算机,这些高性能巨型计算机的应用,对我国的国防、经济建

设和科学技术的发展产生了重大的推动作用。

(2)计算精度高

计算机能表示的数字可以大到比现今已知有意义的最大的天文数字还大,也可以小到比现今已知有意义的最小的数据还小。故计算机可表示的数字的有效位数几乎可以是无限的。

(3)具有记忆和逻辑判断能力

计算机不仅能计算,而且可以把原始数据、中间结果、计算指令等信息存储起来,以备调用。它还能进行各种逻辑判断,并根据判断的结果自行决定以后执行的命令。

(4)通用性强

在计算机中运行不同的程序,即可完成不同的任务,这就是说,计算机可适用于各种领域,通用性强。

(5)计算机内部的运行过程是自动的

使用者只需事先把所需的数据、程序输入计算机,计算机就会自动、连续地工作,完成预定的任务,在程序运行过程中不需人工干预,就会把运算结果计算出来。

1.1.4 计算机的指标

计算机的指标包括位数、速度、容量、带宽和可靠性等。

1.位(Bit)

计算机有8位、16位、32位和64位之分,例如奔腾是32位的,安腾是64位的。这里的位是指CPU能够存储多少位的数据,位数越多,CPU一次能够处理的信息量就越大。通常8位二进制数称为一个字节(Byte),简称B。16位是一个字(Word),32位是一个汉字长。

2.速度

计算机CPU的处理速度可以用每秒钟处理的指令数来表示,也可以用每秒钟处理的事务数来表示,例如经典奔腾的处理速度可达300MIPS(Million Instructions Per Second每秒执行一百万条指令)。由于运算快慢与处理器的时钟紧密相关,所以人们也用主频来表示CPU的处理速度。3.容量

存储容量的单位是字节(Byte,缩写为B)。常用的单位还有千字节KB,兆字节MB和千兆(吉)字节或千兆字节GB,千千兆字节TB。其中:

1KB = 210 B =1024B

1MB=1024KB

1GB=1024MB

1TB=1024GB

为什么不取整数1 000,而取一个如此难记的1 024 B来表示1 KB呢?细心的读者一定会发现:210 = 1 024。计算机采用的是二进制数,用1 000来表示1 KB反而会很麻烦。

对于640 KB的内存,其实际容量为:

640×1 024 B = 655 360 B

对于一个存储容量为80 GB硬磁盘,其实际存储量为:

80×1 024×1 024×1 024 B = 85 899 345 920 B

4.带宽

计算机的数据传输速率也称为带宽,他反映计算机的通信能力,单位为bps,表示每秒钟传输一位。常用的单位还有Kbps、Mbps、Gbps等。

5.可靠性

系统的可靠性通常用平均无故障时间(Mean Time Between Failure,MTBF)和平均故障修复时间(Mean Time To Repair,MTTR)来表示,这里的故障主要指的是硬件故障。MTBF是指多长时间系统发生一次故障,MTTR是指修复一次故障所需要的时间。显然,如果系统的MTBF时间很长,MTTR时间很短,那么该系统的可靠性就很高。

1.2计算机与信息社会

计算机的飞速发展带来了社会的巨大变革,以计算机技术、通信技术和微电子技术为核心的现代信息技术的发展,使人类社会正从工业社会走向信息社会。

1.2.1 数据与信息、信息技术和信息社会

1.数据与信息

数据(Data)是信息(Information)的载体,是对事实、概念或指令的一种特殊表达形式,这种特殊表达形式可以用人工方式或自动化装置进行通信、翻译、转换或加工处理。数据可分为数值型和非数值型(文字、图形、图像、音频、动画、视频等)。

根据ISO(International Organization for Standardization,国际标准化组织)的定义,可以通俗地认为:信息是对人有用的数据,这些数据可能影响到人们的行为与决策。一般来说,信息既是对各种事物变化的描述和特征的反映,又是事物之间相互作用和联系的表示。人们通过信息来认识事物。

信息同物质、能量一样重要,是信息社会人类生存和社会发展的三大基本资源之一。可以说信息不仅维系着社会的生存和发展,而且在不断地推动着社会和经济的发展。信息是信息社会中人们赖以生存和发展的重要资源,人类需要信息,社会发展需要信息,人们的生活一时一刻也离不开信息。

数据与信息的含义是不同的,信息有意义,而数据没有。例如,1.75仅仅是一个数据,没有明确的意义,但当描述某个同学的身高为1.75 m,1.75就有了实际意义,它就是信息了。

2.信息技术

信息技术(Information Technology,IT)是指人类在获取信息、处理信息、传播信息和存储信息中所用到的技术。

现代信息技术是一门综合学科,包括微电子技术、计算机技术、通信技术、感测技术和存储技术等。

微电子技术是信息技术的基础,它扩展了人类对信息的获取和使用的能力,微电子技术的发展使得计算机的芯片集成度提高,体积越来越小,功能越来越强大。

计算机技术是现代信息技术的核心,随着计算机技术的发展,计算机技术不仅可以处理数值信息,而且可以处理文字、声音、图像和视频等非数值信息。

通信技术的功能是使信息在大范围内迅速、准确、有效地传播,为人们快捷、方便地获取信息提供方便,从而使信息能充分地发挥其作用。现代通信技术所包含的技术比较多,如卫星通信、光纤通信、微波通信等。

信息技术利用感测技术来获取信息,感测技术不仅能代替人的感觉器官来捕获各种信息,而且还能捕获人的器官不能感知的信息,现在主要的感测技术是传感技术、遥测技术和遥感技术等。大量重要的信息要保存,需利用存储技术,目前多采用磁盘、光盘和磁带等介质,广义地讲,纸张、电影胶片、录像带、唱片磁盘、光盘和磁带等都是信息的存储介质。

3.信息社会

人类已经进入信息社会,信息社会给人们带来的是全新的生活和工作方式。在信息社会里,信息是技术、信息是知识、信息是一种宝贵的资源。

在信息时代,对每一个人都提出了更高的要求和标准,正确地获取信息、迅速地分析和筛选信息,并创造性地加工和处理信息已成为衡量每一个人基本能力的尺度。今天,人们的很多活动都和网络有密切的联系,可以很方便地从Internet上获取信息,可以通过网络进行沟通,可以通过网络进行学习交流,可以通过网络进行销售和购物,可以通过网络浏览世界上任何一个图书馆的书籍,可以通过网络来了解这个世界,也能通过网络让世界来认识你。

信息产业是信息化的必然结果,也是信息社会的支柱产业。今天,信息产业已成为全球最具潜力的经济增长点,国民经济的一个主导产业。一个国家的综合国力可以通过信息产业的发展程度来体现,世界各国政府都十分重视并大力发展信息产业,美国在1993年率先提出实施兴建国家信息高速公路计划,大量的投入和先进的技术使得美国在信息产业处于一个领先的地位。我国政府也非常重视信息化建设,并将信息化建设纳入“十五”、“十一五”、“十二五”国家发展计划。目前,我国的信息化建设已经有了很大的发展。

信息产业的快速发展必将加速和推动信息社会的进程。作为今天的在校大学生,要有强烈的责任感和使命感,应该努力掌握信息技术,并充分地利用今天的信息技术,培养自己独立自主解决问题的综合能力,培养创新意识,为明天祖国信息产业的腾飞,做好技术的储备。

1.2.2 计算机在信息社会中的应用

计算机诞生不久就突破了“计算”的狭义范围,在非数值计算方面寻求应用的广阔天地。在今天的信息社会,可以毫不夸张地说,几乎没有一个领域是计算机尚未涉及的。本节扼要地介绍计算机在以下几个方面的应用。

1.科学计算

科学计算是指利用计算机完成科学研究和工程技术中提出的数学问题的计算。最初的计算机只在极少数政府和科研部门以及一些大学得到应用,当时只限于数值计算。随着科学技术的发展,使得一些领域的计算日趋复杂,人工计算已无法解决这些复杂的计算问题,如天文、地质、生物技术、卫星发射、天气预报、核物理技术等,都需要大量的数值计算、数理统计、模拟计算和数理分析等各种类型的科学计算。这些科学计算问题是大量的和复杂的,可能产生许多中间结果(如矩阵计算)。利用计算机的高速计算、大存储容量和连续运算的能力,可以节省大量的时间、人力和物力,实现人工无法解决的各种科学计算难题。

2.数据(或信息)处理

数据处理是指对各种数据进行收集、存储、整理、分类、统计、加工、利用、传播等一系列活动的统称。据统计,80%以上的计算机主要用于数据处理,这类工作量大、面宽,决定了计算机应用的主导方向。

数据处理从简单到复杂经历了3个发展阶段,它们是:

①电子数据处理(Electronic Data Processing,EDP),以文件系统为手段,实现一个部门内的数据管理。

②管理信息系统(Management Information System,MIS),以数据库技术为工具,实现一个部门的全面管理,以提高工作效率。

③决策支持系统(Decision Support System,DSS),以数据库、模型库和方法库为基础,帮助管理决策者提高决策水平,改善运营策略的正确性与有效性。

目前,数据处理已广泛地应用于办公自动化、企事业计算机辅助管理与决策、情报检索、图书管理、电影电视动画设计、会计电算化等领域。利用计算机可以大大地缩短日常事务管理所需的时间,提高管理的效率和质量。信息正在形成独立的产业,多媒体技术使信息展现在人们面前的不仅是数字和文字,也有声情并茂的声音和图像信息。

3.过程控制(或实时控制)

过程控制是指利用计算机及时采集、检测数据,按最优值迅速地对控制对象进行自动调节或自动控制。采用计算机进行过程控制,不仅可以大大提高控制的自动化水平,而且可以提高控制的及时性和准确性,从而改善劳动条件、提高产品质量及合格率。因此,计算机过程控制已在机械、冶金、石油、化工、纺织、水电、航天等部门得到广泛的应用。

例如,在汽车工业方面,利用计算机控制机床、控制整个装配流水线,不仅可以实现精度要求高、形状复杂的零件加工自动化,而且可以使整个车间或工厂实现自动化。

在生产过程中,温度、压力、位移、速度、湿度等的变化对生产的产品质量有直接影响。因此,需要对这些参量进行检测,并将被检测参量转换成电信号或数字信号,由计算机进行分析处理,对过程进行控制。其应用领域有各种炉温控制、化工生产过程控制和数控机床以及车辆、船舶、飞机、导弹和卫星的航行控制等。

过程控制的一个重要特性是实时性,即在信息或数据产生的同时进行实时处理。处理的结果可以用做事后分析,也可以立即用来影响或控制进行中的事件或过程。大家所熟悉的交通管理以及民航售票等都是实时处理系统。

4.计算机辅助技术

计算机辅助技术包括CAD、CAM和CAI等。

计算机辅助设计(Computer Aided Design,CAD)是计算机系统辅助设计人员利用计算机进行工程或产品设计,以实现最佳设计效果的一种技术。目前CAD技术已广泛应用于航天、汽车、电子、机械、建筑、轻工业和艺术等领域。例如,在电子计算机的设计过程中,利用CAD技术进行体系结构模拟、逻辑模拟、插件划分、自动布线等,大大提高了设计工作的自动化程度。又如,在建筑设计过程中,利用CAD技术进行力学计算、结构计算、绘制建筑图纸等,不但提高了设计速度,而且可以大大提高设计质量。

计算机辅助制造(Computer Aided Manufacturing,CAM)是指利用计算机控制生产过程,使结构复杂、精度要求高的生产工艺由计算机严格控制,提高产品的合格率,降低成本,缩短生产周期,提高生产率和改善劳动条件。例如,在产品制造过程中,用计算机控制机器的运行,处理生产过程中所需的数据,控制和处理材料的流动以及对产品进行检测等。将CAD和CAM技

术集成,实现设计、生产自动化,这种系统被称为计算机集成制造系统(CIMS)。它的实现将真正做到无人化工厂(或车间)。

计算机辅助教学(Computer Aided Instruction,CAI)是指利用计算机系统,使用计算机课件进行教学,它改变了传统黑板加粉笔的教学方式。优秀课件可以激发学生的学习兴趣和学习积极性,引导学生循序渐进,使学习者在轻松、愉快的环境中掌握知识。CAI的主要特色是交互教育、个别指导和因人施教。

5.人工智能

人工智能(Artificial Intelligence,AI)是计算机模拟人类的智能活动。例如,图像识别、语言识别、专家系统、推理、定理证明、机器人等,都属于人工智能范畴。目前人工智能的研究已取得不少成果,有些已开始走向实用阶段。一些智能系统已经能够替代人的部分脑力劳动,获得了实际的应用,尤其是在机器人、专家系统、模式识别等方面。例如,能模拟高水平医学专家进行疾病诊疗的专家系统以及具有一定思维能力的智能机器人等。

1.3计算机的信息单位

计算机对信息表示的单位有位、字节、字、字长等,它们是用来表示信息量大小的基本概念。位(Bit)是计算机中构成信息的最小单位。一位二进制数(取值为0或1)可表示21=2个信息。两位二进制数(取值为00,01,10,11)可表示22=4个信息,以此类推,二进制数每增加l 位,可表示的信息个数就增加l倍。

字节(Byte)是计算机中的基本信息单位。一个字节可以代表一个数字、一个字母或一个特殊符号,它能表示256种字符。例如,当输入“A”时,计算机把从键盘上接收的信号放入内存的1个字节中,其字节的值为01000001。在计算机中,用字节数表示存储器的存储容量。

字(Word)是位的组合,其长度通常是1个字节的整数倍。它是计算机一次性进行数据处理和运算的单位。

字的位数叫做字长,它是计算机一次可处理的二进制数的位数,是衡量计算机性能的一个重要指标。不同档次计算机有不同的字长。例如8位机的1个字等于1个字节,字长为8位。16位机的1个字由2个字节构成,字长为16位。现在计算机的字长通常为32位、64位。一般来说,字的长度愈长,计算机的性能也就愈好。

1.4 计算机中数值信息的表示形式

1.4.1 计算机采用二进制的原因

1.4.2 数制的概念人们在日常生活中,使用最多的是十进制。而在计算机中却用二进制,有时为了方便还要用到八进制、十六进制。无论什么进位计数制,都涉及到两个基本概念:基数和权。

基数是指计数制中所用到的数字符号的个数。如果计数制采用R个数字符号,则R称为数制的基数,如表1.1所示。

权是指每一固定位置对应的单位值,进位计数制符合“逢R进一”的规则,数字每一位的权是以R为底的幂。并且进位计数制中的每一个数都可以按权展开成为多项式。1.5 计算机中数据的表示

数据分为两种,一种是数值型数据,另一种是非数值型数据。所有数据在计算机中都是用二进制表示的,但并不是二进制数。

1.5.1 数值型数据的编码与表示

1. 数据型数据在计算机中的表示

任何一个非二进制整数在算机中都是以二进制形式存放的,并且用最高位作为数值的符号位,“0”表示正数,“1”表示负数,每个数据占用一个或多个字节。这种将数字与符号组合在一起的二进制数称为机器数,由机器数所表示的实际值称为真值。例如,如果用一个字节表示机器数,那么75在计算机中的表示如图1.2所示。

机器数

符号位真值

图1.2 用一个字节表示75的机器数

2. 原码、反码和补码

机器数有不同的表示方法,通常用原码、反码和补码三种方式表示。一个二进制数在计算机中的表示是以这个二进制数的补码形式表示的。由于数值数据有大小和正负之分,所以二进制数就可能是正数、负数、小数,它的补码也就可能跟这个二进制数不相同。任何正数的原码、反码和补码的形式完全相同,负数则各自有不同的表示形式。

原码:正数的符号位用0表示,负数的符号位用1表示,数值部分用二进制形式表示。

反码:正数的反码和原码相同,负数的反码是对该数的原码除符号位外各位取反。

补码:正数的补码和原码相同,负数的补码是反码加1。

例如,如果用一个字节表示1,则1的原码、反码和补码都表示为:00000001。-1的原码为10000001,反码为11111110,补码为11111111。

3. 数的定点与浮点表示

带小数点的数在计算机中用隐含规定小数点的位置来表示。根据小数点的位置是否固定,分为定点数(小数点位置固定的数)和浮点数二种类型,相应的具有数的定点表示和浮点表示两种方式。

定点数分为定点整数和定点小数。定点整数是指小数点隐含固定在整个数值的最后,符号位右边所有的位数表示的是一个整数。定点小数是指小数点隐含固定在最高数据位的左边,最大数为0。例如,8位二进制数-0.1010111在计算机中的定点表示形式为11010111。

浮点数是指小数点位置不固定的数,它既有整数部分又有小数部分,如123.45、56.789等。在计算机中通常把浮点数表示为阶码和尾数两部分,其中阶码一般用补码定点整数表示,尾数用补码或原码定点小数表示。

例如,计算机用4个字节表示浮点数,阶码部分为8位补码定点整数,尾数部分为24位补码定点小数,如图1.3所示。

阶符阶码数符尾数

图1.3 浮点数的表示

阶符表示指数的符号位、阶码表示幂次、数符表示尾数的符号位、尾数表示规格化后的小数值。例如十进制数5.8125转换为二进制数为101..1101,用浮点数表示为0.1011101×23,阶码的二进制形式为11,尾数为0. 1011101,阶符和数符均为0。采用浮点数表示数的特点是比用定点数表示的数值范围大。

计算机中除了数值数据,还有大量非数值数据,包括文字、各种符号等,它们也都是用“0”和“1”这两个二进制数来表示的。在计算机内部,这些非数值信息都是按照事先约定的编码值来表示的。

1.5.2 西文字符编码

西文字符最常用的是按照ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)字码编码方式进行编码。它原来是美国国家标准,后来成为国际标准,是计算机通信时共同遵守的标准。

字符是计算机中最多的信息形式之一,是人与计算机进行通信、交互的重要媒介。在计算机中,要为每个字符指定一个确定的编码,作为识别与使用这些字符的依据。

各种字母和符号也必须按规定好的二进制码表示,计算机才能处理。在西文领域,ASCII码虽然是美国国家标准,但它已被国际标准化组织(ISO)认定为国际标准。ASCII码已为世界公认,并在世界范围内通用。

1.5.2 汉字编码

汉字在计算机内也采用二进制编码。由于汉字数量多,常用的也有几千个,显然用一个字节(8位编码)是不够的。因此,汉字编码比ASCII码要复杂。计算机在处理汉字时,经过了输入码—国际标码—机内码—字形码的转换过程,如图1.2所示。

1.汉字输入码

汉字和西文的输入是不一样的。要输入西文,直接按下键盘上的字符键就行了。但要输入汉字,情况就不同了。例如要输入汉字“安”,键盘上并没有“安”这个汉字的按键,假如采用拼音输入法,需在键盘上依次按下“a”、“n”两个键。“an”就是“安”这个汉字的拼音输入码。如果采用五笔字型输入法,则键入“pv”。由此可见,不同的汉字输入法,其输入码(编码方案)是不同的。当改变汉字输入法时,同一汉字的输入码也将改变。汉字的输入码又称为“外码”。汉字输入法可以不一样,但汉字的输入码进入计算机以后,计算机会将其自动地转换成机内码存储,机内码是唯一的,它和所采用的输入法无关。无论采用什么汉字输入法,在输入码和机内码之间总是存在着一一对应的关系。

2.汉字国标码

国家标准汉字编码简称国标码。按照《信息交换用汉字编码字符集》标准(即GB2312—80),汉字国标码共收集和定义了7445个基本汉字。包括6 763个常用汉字(其中使用频度较高的一级汉字3 755个,使用频率较低的二级汉字3 008个)和拉丁字母、汉语拼音字母、英、俄、日文字母等、数字和常用符号682个。它是汉字交换码的国家标准,故称为“国标码”。

GB2312-80规定每个汉字用2个字节的二进制编码,每个字节最高位为0,其余7位用于表示汉字信息。

例如,汉字“啊”的国标码的2个字节的二进制编码为00110000B和00100001B,对应的十六进制数为30H和21H。

3.汉字机内码

为了在计算机内区分某个码值是代表ASCII码字符还是汉字字符,汉字机内码把最高位置为“1”,这就是说,汉字机内码在汉字国标码的基础上,把两个字节的最高位的“0”改成“1”。例如,当把汉字“啊”的国标码3021H两个字节的最高位改为“1”后,就变成了B0A1H,这就是“啊”的机内码。由此可见,汉字国标码和机内码是不一样的。而ASCII码的最高位仍然为“0”。如果计算机接收到两个相邻字节的机内码为00110000和00100001时,因为最高位都是“0”,这时,计算机将把它们识别为两个ASCII字符,即“0”和“!”。见下面的示意说明:

汉字国标码3021H 00110000 00100001 汉字“啊”

汉字机内码B0A1H 10110000 10100001 汉字“啊”

ASCII机内码3021H 00110000 00100001 西文的“0”和“!”

计算机处理字符数据时,当遇到最高位为1的字节,便可将该字节连同其后续最高位也为1的另一个字节看作1个汉字机内码;当遇到最高位为0的字节,则可看作一个ASCII码西文字符,这样就实现了汉字、西文字符的共存与区分。利用汉字机内码和ASCII码实现了计算机的中、西文的兼容。汉字机内码又称为“扩展ASCII码”。

4.汉字字形码

汉字字形码供计算机在显示和打印时使用,又称汉字字模。汉字字形码有两种表示方法:点阵和矢量表示方法。

用点阵表示字形时,是指所显示汉字的汉字字形点阵代码。如用显示器显示时使用16×16点阵的字库,而用于打印的字形则为24×24、36×36、48×48点阵的字库。点阵越密,打印的字体越美观,但美观的字体以占用较大的存储空间作为代价。一个16×16点阵的汉字占用32个字节(如图1.3所示的点阵图),24×24点阵的汉字占用72个字节,而48×48点阵的汉字占用288个字节。

1.5.3 多媒体信息的编码

媒体又称媒介、媒质,是指通过一些手段、方法、工具、设备或装置来分发信息和展现信息。多媒体信息是指以文字、声音、图形图像和视频为载体的信息。随着计算机技术的发展,促进了多媒体信息处理技术的飞速发展。虽然多媒体信息多种多样,但它们进入计算机后,同样也要转换为二进制的数据。

1.音频信息

物体在空气中振动产生声音,这是一种模拟数据,振动频率是指每秒钟出现了多少个周期。要

相关主题
文本预览
相关文档 最新文档