项目一 认识计算机

【项目描述】

从第一台计算机问世到今天,人类从生产到生活发生了巨大变化,以计算机为核心的信息技术作为一种崭新的生产力,正向社会的各个领域渗透。本项目通过对计算机基本知识的介绍,揭开计算机的神秘面纱,增强读者对计算机的感性认识,提高对学习计算机文化重要性的认识,为后续学习打下良好的基础。具体工作通过以下2个任务来完成:

任务一 了解计算机的应用领域与分类

任务二 认识计算机中的数

任务一 了解计算机的应用领域与分类

任务分析

计算机问世之初,主要用于数值计算,“计算机”也因此得名,人们习惯上把个人计算机称为“电脑”。而今天的计算机几乎和所有学科相结合,在社会各方面起着越来越重要的作用。本任务主要介绍计算机的发展、应用领域和特点,以帮助读者系统地认识计算机。

任务目标

● 了解计算机的诞生及发展史。

● 了解计算机的发展方向。

● 了解计算机的应用领域。

● 了解计算机的分类。

● 熟悉计算机系统的组成。

必备知识

1.计算机的诞生及发展史

1946年2月,世界上第一台电子计算机“埃尼阿克”(Electronic Numerical Integrator and Calculator,ENIAC)在美国宾夕法尼亚大学研制成功,如图1-1所示。这台计算机使用了18800多个电子管,占地约170m2,重约30t。从1946年2月开始投入使用,到1955年10月最后切断电源,服役了9年多。虽然它每秒只能进行5000次的加法运算,但ENIAC的研制成功为以后计算机技术的发展奠定了基础,每克服它的一个缺点,都对计算机的发展都带来很大的影响。

图1-1 第一台电子计算机

2.计算机的发展方向

目前,计算机的发展已逾半个世纪,构成计算机的电子器件发生了几次重大的技术革命,使得计算机的性能得到迅猛发展。一般根据电子计算机采用的电子器件的发展,将电子计算机的发展分成如下4个阶段:

(1)第1代电子计算机(电子管时代,1946—1958年)

第1代计算机主要采用电子管元器件,所以也称为电子管时代计算机。其主要特点是:

①逻辑元件:采用电子管,体积大,耗电多,速度慢,成本高。

②存储部件:采用汞延迟线、磁心、磁鼓作为存储设备。

③编程语言:采用机器语言。

④系统软件:无系统软件。

⑤运算速度:103~105条指令/s。

⑥应用范围:主要用于科学计算。

(2)第2代电子计算机(晶体管时代,1958—1964年)

第2代计算机采用晶体管作为主要电子元器件,所以也称为晶体管时代计算机。其主要特点是:

①逻辑元件:采用晶体管,相对于电子管时代体积小,耗电少,速度快,性能稳定。

②存储部件:内存储器主要采用磁心,外存储器主要采用磁鼓和磁带。

③编程语言:采用汇编语言和高级语言。

④系统软件:产生了操作系统软件。

⑤运算速度:十万次每秒。

⑥应用范围:从科学计算逐步扩展到数据处理、自动控制等。

(3)第3代电子计算机(集成电路时代,1964—1970年)

第3代计算机采用集成电路作为主要电子元器件。其主要特点是:

①逻辑元件:采用中、小规模集成电路,体积更小,价格更低,速度更快,可靠性更高。

②存储部件:采用的是半导体存储器,存储容量和存取速度大幅度提高。

③编程语言:采用汇编语言和高级语言。

④系统软件:功能更强的操作系统。

⑤运算速度:百万次每秒。

⑥应用范围:逐步拓展到文字处理、企事业管理等。

(4)第4代电子计算机(1971年以后)

第4代计算机主要采用了大规模、超大规模集成电路作为主要电子元器件。其主要特点是:

①逻辑元件:采用大规模、超大规模集成电路,性能价格比更高。

②存储部件:半导体存储器集成度越来越高,外存储器还采用光盘、移动存储器等。

③编程语言:各种高级语言。

④系统软件:数据库技术、网络通信技术、多媒体技术等各类系统软件。

⑤运算速度:十亿次每秒以上。

⑥应用范围:已经渗透到社会生活的各个领域。

从计算机工作原理来看,以上4代计算机都是基于美籍匈牙利数学家冯·诺依曼提出的“存储程序”的原理:将程序和数据以二进制数的形式预先存放在计算机的存储器中,执行程序时,计算机从存储器中逐条取出指令进行相应操作,完成数据的计算处理和输入/输出。这种“存储程序”的原理是计算机科学发展历史上的里程碑,对于计算机科学的发展具有根本性的指导意义,所以通常将基于这一原理的计算机称为冯·诺依曼型计算机。

(5)现代计算机的发展方向

进入21世纪以来,计算机技术发展非常迅速,产品不断升级换代,融入了各项新技术,使得计算机功能越来越强。计算机在各个领域的广泛应用,也积极地推动了社会的发展和科学技术的进步,促进了计算机技术的更新和发展。因而产生了新一代计算机,主要用于支持知识库的智能计算机、神经网络计算机和生物计算机等。

新一代计算机主要是将信息采集、存储、加工、通信和人工智能结合在一起,突破了传统计算机的结构模式,注重智能化的功能,即对数据进行处理的同时还具备模拟的功能。因此,未来计算机的发展趋势是微型化、巨型化、网络化、智能化。

①微型化。随着计算机技术的不断发展,计算机的体积越来越小,功能越来越强,如笔记本式计算机、掌上型计算机等便携式计算机。

②巨型化。巨型化是指存储量更大、运算速度更快、功能更强大的计算机。例如,国防科学技术大学研制的“天河二号”超级计算机,以峰值计算速度5.49亿亿次/s、持续计算速度3.39亿亿次/s双精度浮点运算的优异性能,连续4次在国际TOP500组织公布的全球超级计算机500强排行榜中雄踞首位。

③智能化。计算机依据不确定的输入做出决定,模仿人脑的工作方式,具有直观判断和处理不完整的模糊信息的能力,甚至有接近人的审美和情感能力。也就是说,计算机工作时只需要告诉它“做什么”,而不必“手把手”教它“怎么做”。目前科学家们正在采取“人工智能”和“神经网络”方法开发智能计算机。

④网络化。网络化就是用通信线路将各自独立的计算机连接起来,以便进行协同工作和资源共享。例如,通过Internet,人们足不出户就可以获取大量的信息、进行网上贸易等。今天,网络技术已经从计算机技术的配角地位上升到与计算机紧密结合、不可分割的地位,产生了“网络计算机”的概念。

(6)未来计算机

①神经网络计算机。神经网络计算机是一种模拟人脑神经网络工作原理的新型计算机,与前几代传统计算机的理念截然不同。神经网络计算机旨在模拟人脑,以神经细胞为单位,通过神经细胞的“互联网”来传递、处理信息的机制,从而找到重现人类智能的恰当模型。它具有自我组织功能,能实现自我学习和联想记忆,特别适合于模式识别、自动控制优化和预测等领域。神经网络技术由于具有强适应性和信息融合能力,将会成为智能化中一个强有力的工具。

②生物计算机。生物计算机是利用生物工程技术产生的蛋白分子为主要材料的芯片,以生物界处理问题的方式为模型的计算机。生物计算机的运算过程就是蛋白质分子与周围物理化学介质的相互作用过程。计算机的转换开关由酶来充当,而程序则在酶合成系统本身和蛋白质的结构中极其明显地表示出来。

③光子计算机。1990年初,美国贝尔实验室研制成功世界上第一台光子计算机。

光子计算机是一种由光信号进行数字运算、逻辑操作、信息存储和处理的新型计算机。

用光子作为传递信息的载体,能制造出性能更优异的计算机。用光子作为传递信息的载体有以下几方面的优点:

a.光子不带电荷,它们之间不存在电磁场相互作用,彼此之间不发生干扰。

b.光子没有静止质量,它既可以在真空中传播,也可以在介质中传播,传播速度比电子在导线中的传播速度快得多(约1000倍)。

c.超高速的运算速度。光子的传播速度能达3×105km/s,从理论上讲,光子计算机的运行速度要比电子计算机快得多,对使用环境条件的要求也比电子计算机低得多。

d.超大规模的信息存储容量。光子计算机具有极为理想的光辐射源—激光器,光子的传导可以不需要导线,而且即使在相交的情况下,它们之间也不会产生丝毫的相互影响。光子计算机无导线传递信息的平行通道,其密度实际上是无限的,一枚5分硬币大小的枚镜,它的信息通过能力可以是全世界现有电话电缆通道总和的许多倍。

e.能量消耗小,散发热量低,是一种节能型产品。光子计算机的驱动只需要同类规格的电子计算机驱动能量的一小部分,这不仅降低了电能消耗,大大减少了机器散发的热量,而且为光子计算机的微型化和便携化研制提供了便利的条件。

光子计算机由光学反射镜、透镜、滤波器等光学元件和设备组成,有模拟式与数字式两种。模拟式光子计算机的特点是直接利用光学图像的二维性,因而结构比较简单。这种光子计算机现在已用于卫星图片处理和模式识别工作。数字式光子计算机的结构方案有许多种,其中认为开发价值比较大的有两种:一种是采用电子计算机中已经成熟的结构,只是用光学逻辑元件取代电子逻辑元件,用光子互连代替导线互连;另一种是全新的、以并行处理(光学神经网络)为基础的结构,在20世纪80年代已制成了光学信息处理机—数字光处理机,它由激光器、透镜和棱镜等组成。虽然光子计算机已经研制成功,但其在功能以及运算速度等方面还有很大的发展潜力,特别是在对图像处理、目标识别和人工智能等方面,光子计算机将来发挥的作用远比电子计算机大。

3.计算机的应用领域

目前,计算机已广泛应用于人类社会的各个领域,不仅在自然科学领域得到了广泛的应用,而且已经进入社会科学的各个领域及人们的日常生活中。计算机的应用领域可以分为以下几个方面:

(1)科学计算

科学计算即通常所说的数值计算,是计算机最早且最重要的应用领域,是指利用计算机来完成科学研究和工程技术中提出的数学问题的计算。在现代科学技术工作中,科学计算问题是大量的和复杂的。利用计算机的高速计算、大存储容量和连续运算的能力,可以实现人工无法解决的各种科学计算问题,如核反应方程式计算、卫星轨道计算、材料的受力分析、天气预报等。

(2)数据处理

数据处理也称事务处理,是指对各种数据进行收集、存储、整理、分类、统计、加工、利用、传播等一系列活动的统称。据统计,80%以上的计算机主要用于数据处理,这类工作处理的数据量非常大,决定了计算机应用的主导方向。目前,数据处理已广泛应用于办公自动化、企事业计算机辅助管理与决策、情报检索、图书管理、电影/电视动画设计、会计电算化等各行各业。

(3)计算机辅助系统

计算机辅助系统主要指计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助教学(CAI)。

①计算机辅助设计(Computer Aided Design,CAD)。计算机辅助设计是设计人员利用计算机系统辅助进行工程或产品设计,以实现最佳设计效果的一种技术。它已广泛地应用于飞机、汽车、机械、电子、建筑和轻工等领域。利用CAD技术可以提高设计质量,缩短设计周期,提升设计自动化水平。

②计算机辅助制造(Computer Aided Manufacturing,CAM)。计算机辅助制造是利用计算机系统进行生产设备的管理、控制和操作的过程。例如,在产品制造过程中,用计算机控制机器的运行,处理生产过程中所需的数据,控制和处理材料的流动以及对产品进行检测等。使用CAM技术可以提高产品质量,降低成本,缩短生产周期,提高生产率和改善劳动条件。

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

③计算机辅助教学(Computer Aided Instruction,CAI)。计算机辅助教学是利用计算机帮助学习的自学习系统,将教学内容、教学方法和学生的学习情况等存储在计算机中,使学生在轻松自如的环境中完成课程的学习。

④实时控制。实时控制也称过程控制,主要指利用计算机及时采集检测数据,按最优值迅速地对控制对象进行自动调节或自动控制。采用计算机进行过程控制,不仅可以大大提高控制的自动化水平,而且可以提高控制的及时性和准确性,从而改善劳动条件、提高产品质量及合格率。目前实时控制主要应用在军事和工业等方面。

⑤人工智能。人工智能(Artificial Intelligence)是计算机模拟人类的智能活动,诸如感知、判断、理解、学习、问题求解和图像识别等。现在人工智能的研究已取得不少成果,有些已开始走向实用阶段。目前的主要应用有:机器人(Robots)、专家系统(Expert System,ES)、模式识别(Pattern Recognition)和智能检索(Intelligent Retrieval)等。

⑥网络应用。计算机技术与现代通信技术的结合构成了计算机网络。计算机网络的建立,不仅解决了一个单位、一个地区、一个国家中计算机与计算机之间的通信,各种软、硬件资源的共享,也大大促进了国家或地区间的文字、图像、视频和声音等各类数据的传输与处理。

4.计算机的特点

计算机的主要特点有以下几个方面:

(1)运算速度快、计算精度高

由于计算机采用了高速的电子器件,加上先进的算法技巧,可以使计算机获得很高的运算速度。现代的高性能计算机每秒能进行上百亿甚至更多的运算。大量的科学计算,在过去人工需要几年、几十年,而用计算机只需要几分钟、几小时或几天就能完成。并且计算机计算可以得到很高的计算精度,可达到小数点后几十位,几百位甚至上万位。

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

计算机结构中,设有具备记忆功能的装置,通常称为存储器。计算机的存储器类似于人的大脑,可以“记忆”(存储)大量的数据,以备随时调用。存储器不仅存储大量的信息,而且可以快速、准确地存入和取出这些信息。

计算机不仅能进行算术运算,还能进行逻辑运算。它可以对字母、符号、汉字、数字的大小和异同进行判断、比较,从而确定如何处理这些信息。在计算过程中,计算机能自己判断下一步该做什么,遇到分支,能选择走哪条支路。因此计算机可以广泛应用到非数值数据处理领域,如信息检索、图形识别及各种多媒体应用领域。如图1-2所示的“深蓝”计算机,曾在与国际象棋大师的比赛中战胜人脑。

图1-2 “深蓝”计算机

(3)工作自动化

计算机内部的操作运算是根据人们预先编制的程序自动控制执行的,不需要人工干预。只要把包含一连串指令的处理程序输入计算机,计算机便会依次取出指令,逐条执行,完成各种规定的操作,直到得出结果为止。

(4)通用性强

计算机能处理数值数据和非数值数据,这使得计算机具有很强的通用性,能满足各个领域对各种数据的处理需要。

5.计算机的分类

计算机的分类方法较多,根据处理的对象、用途和规模不同可有不同的分类方法,下面介绍常用的分类方法。

(1)按处理的对象划分

按所处理的信号不同,计算机可分为模拟计算机、数字计算机和混合计算机。

①模拟计算机。指专用于处理连续的电压、温度、速度等模拟数据的计算机。其特点是参与运算的数值由不间断的连续量表示,其运算过程是连续的。由于受元器件质量影响,其计算精度较低,应用范围较窄。模拟计算机目前已很少生产。

②数字计算机。指用于处理数字数据的计算机。其特点是数据的输入和输出都是数字量,参与运算的数值用非连续的数字量表示,具有逻辑判断等功能。数字计算机是以近似人类大脑的“思维”方式进行工作的,所以又被称为“电脑”。

③混合计算机。指既可以处理数字量又可以处理模拟量的计算机。

(2)根据计算机的用途划分

根据计算机的用途不同可分为专用计算机和通用计算机两种。

①通用计算机。通用计算机适用于解决一般问题,其适应性强,应用面广,如科学计算、数据处理和过程控制等。

②专用计算机。专用计算机用于解决某一特定方面的问题,配有为解决某一特定问题而专门开发的软件和硬件,应用于如自动化控制、工业仪表、军事等领域。

(3)现代计算机的分类

根据当前计算机的性能、用途和价格,大体可以把计算机分为巨型计算机、大型计算机、小型计算机、个人计算机等几类。

①巨型计算机。巨型机也称超级计算机,是运算速度最快、处理能力最强、体积最大、价格最贵的计算机。巨型机可以每秒进行几万亿甚至十几万亿次浮点运算,它是衡量一个国家经济实力与科学技术水平的重要标志,主要用于尖端科技、战略武器、石油勘探、社会经济模拟等方面。

我国巨型机的研发也取得了很大的成绩,推出了“曙光”“银河”等代表国内高水平的巨型机系统,并在国民经济的关键领域得到了应用。如图1-3所示为曙光5000A巨型计算机。

②大型计算机。大型机也称大型计算机或主机,通常所指的是大型机和中型机。大型机的特点是大型、通用,具有较快的处理速度和较强的处理能力。大型机一般作为“客户机/服务器”系统的服务器或者“终端/主机”系统中的主机,主要用于大银行、大公司、规模较大的高等学校和科研院所,用来处理日常大量繁忙的业务。如图1-4所示为IBM System z10大型计算机。

图1-3 曙光5000A巨型计算机

图1-4 IBM System z10大型计算机

③小型计算机。小型机规模小,结构简单,设计试制周期短,可靠性高,成本低,便于采用先进工艺,用户不必经过长期培训即可维护和使用。因此小型机比大型机有更大的吸引力,更容易推广和普及。小型机的应用范围很广,可以用于工业自动化控制、大型分析仪器、测量仪器、医疗设备中的数据采集、分析计算等,也可作为巨型机、大型机的辅助机,还可以用于企业管理及大学和科研院所的科学计算等。

④个人计算机。微型机又称个人计算机(Personal Computer,PC)。1971年,Intel公司的工程师马西安·霍夫(M.E. Hoff)成功地制成了世界上第一台4位微型计算机—MCS-4。随后,各公司相继推出了8位、16位、32位、64位的微处理器。微型机以其设计先进、使用方便、体积轻巧、功能齐全、价格便宜等优点,迅速发展成为计算机的主流。当今,微型机的应用已经遍及社会的各个领域,从工厂的生产控制到政府的办公自动化,从商店的数据处理到家庭的信息管理,几乎无所不在。微型机的种类很多,主要分成两类:台式机(Desktop Computer)和便携机(Portable Computer),如笔记本式计算机、掌上型计算机都属于便携机的范畴。如图1-5所示为清华同方超锐Z40A-B003笔记本式计算机,图1-6惠普HP iPAQ rx5765掌上型计算机。

有一种特殊的个人计算机,称为工作站(workstation),工作站是一种介于小型机和微型机之间的高档微机系统。自1980年美国Apollo公司推出世界上第一个工作站DN100以来,工作站迅速发展,成为处理某类特殊事务的一种独立的计算机类型。工作站通常配有高分辨率的大屏幕显示器和大容量的内、外存储器,具有较强的数据处理能力与联网功能、较高的速度和高性能的图形功能,主要用于图像处理、计算机辅助设计等。它与网络系统中的“工作站”在含义上不同,网络系统中的“工作站”泛指联网用户的结点,以区别网络服务器,这样的“工作站”常常只是一般的PC而已。

图1-5 清华同方超锐Z40A-B003笔记本式计算机

图1-6 惠普HP iPAQ rx5765掌上型计算机

6.计算机系统的组成

计算机由硬件系统和软件系统组成,如图1-7所示。

图1-7 计算机系统的组成

(1)计算机硬件系统

计算机的硬件体系结构是以数学家冯·诺依曼的名字命名的,被称为冯·诺依曼体系结构。其特点是:计算机硬件系统由运算器、控制器、存储器、输入及输出设备5个部分组成,采用存储程序工作原理,实现自动不间断运算。计算机的整个工作过程及基本硬件如图1-8所示。

图1-8 冯·诺依曼计算机硬件结构模型

(2)计算机软件系统

只有硬件系统的计算机被称为“裸机”,它必须装上必要的软件才能完成用户指定的工作。计算机软件系统包括系统软件和应用软件。

①系统软件。系统软件是计算机系统必备的软件,它的主要功能是管理和维护计算机软、硬件资源,以及开发应用软件。通常包括操作系统、语言处理系统、数据库管理系统、各种服务程序及网络系统等。

操作系统是用户使用计算机的界面,是位于底层的系统软件,其他系统软件和应用软件都是在操作系统上运行的。操作系统主要用来对计算机系统中的各类软、硬件资源进行统一的管理和调度。计算机的操作系统主要有DOS、Windows、UNIX、Mac OS和Linux等,它们是应用软件与计算机硬件之间的“桥梁”。

②应用软件。应用软件主要是为解决各种计算机应用问题而编制的应用程序,它具有很强的实用性。如办公软件WPS、Office、人事管理软件、员工资料检索软件等。

知识拓展

平板电脑

平板电脑(Tablet Personal Computer,Tablet PC、Flat PC、Tablet、Slates)是一种小型、方便携带的个人计算机,以触摸屏作为基本的输入设备,如图1-9所示。它拥有的触摸屏(也称数位板技术)允许用户通过触控笔或数字笔来进行作业而不是传统的键盘或鼠标。用户可以通过内建的手写识别、屏幕上的软键盘、语音识别或者一个真正的键盘(如果该机型配备的话)进行输入操作。平板电脑由比尔·盖茨提出,平板电脑概念产品上看,平板电脑就是一款无须翻盖、没有键盘、小到放入女士手袋,但却是功能完整的PC。

图1-9 平板电脑

平板电脑是带有触摸识别的液晶屏,可以用电磁感应笔手写输入。平板电脑集移动商务、移动通信和移动娱乐为一体,具有手写识别和无线网络通信功能,被称为上网本的终结者。

平板电脑按结构设计大致可分为两种类型,即集成键盘的“可变式平板电脑”和可外接键盘的“纯平板电脑”。平板电脑本身内建了一些新的应用软件,用户只要在屏幕上书写,即可将文字或手绘图形输入计算机。

2010年,iPad的出现使平板电脑突然火爆起来。iPad由苹果公司首席执行官史蒂夫·乔布斯于2010年1月27日在美国旧金山欧巴布也那艺术中心发布,让各IT厂商将目光重新聚焦在“平板电脑”上。iPad重新定义了平板电脑的概念和设计思想,取得了巨大的成功,从而使平板电脑真正成为一种带动巨大市场需求的产品。

完成过程

(1)了解常用的计算机分类情况。

(2)按照现代的计算机分类方法到百度上搜索相关类别的计算机图片,每个类别至少找2款计算机,如图1-10所示。

(3)分组讨论什么是计算机的硬件系统,什么是计算机的软件系统,并举出相应的实例。

图1-10 计算机分类图片

任务二 认识计算机中的数

任务分析

在数学上和日常生活中,通常使用的是十进制数,即在计算时逢十进一。但在现实生活中也绝非一切全用十进制,比如,1年等于12个月,这是十二进制;1小时等于60分,1分等于60秒,这都是六十进制。可见,用什么进制完全取决于人们的需要。在计算机内部,根据电路只有低电平和高电平的特点,即一切信息都是用“0”和“1”这两种状态表示的,所以在计算机内部都使用二进制计数。

任务目标

● 熟悉计算机中常用的数制及其相互之间的转换方法。

● 熟悉计算机中信息表示的方法。

● 熟悉ASCII码的表示。

● 了解计算机中中文字符的表示。

必备知识

1.数制与数制转换

在采用进位计数的数字系统中,如果只用r个基本符号(例如,0,1,2,…,r–1)表示数值,则称其为r数制,r称为该数制的基(Radix)或基数。

例如,在计算机中使用的是二进制数,其特点是只有“0”和“1”两个基本符号。

在计算机中使用二进制,主要有以下3个原因:

①可行性。二进制码在物理上最容易实现。因为可以用电平的高或低两个状态表示“1”和“0”,也可以用脉冲的有或无两个状态表示“1”和“0”。

②简易性。二进制码用来表示的二进制数其编码、计数、加减运算规则简单。二进制码的两个符号“1”和“0”正好与逻辑命题的两个值“真”和“假”相对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利的条件。

③可靠性。使用二进制数,用电信号表示只需两个状态,数码越少,电信号就越少、越简单、越清楚,数字的传输和处理越不容易出错,计算机工作的可靠性就越高。

(1)常用的进位计数制

①十进制计数。十进制数制有0、1、2、…、9这10个基本数字符号,计数特点是“逢十进一”。在一个十进制数中,不同位置上的数字符号代表的值是不同的,等于其本身的值乘上一个以10为底的指数值,这就是所谓的“位权”,如(1234)10=1×103+2×102+3×101+4×100。在数学中,一个十进制数可以用下列展开式来表示:

其中,可以是0~9这10个符号中的任意一个。

②二进制计数。二进制数制有0和1两个基本数字符号,其特点是“逢二进一”。在二进制数中,当数字符号处于不同位置上时,所表示的数值也不同,如(1010)2=1×23+0×22+1×21+0×20。在数学中,一个二进制数可以用下列展开式来表示:

其中,可以是0、1这2个符号中的任意一个,其展开式结果S为二进制数。

可以看出,各种进位计数制中的权值恰好是基数的某次幂。因此,对任何一种进位计数制表示的数都可以写出按其权值展开的多项式之和:

③八进制计数。八进制数制有0、1、2、…、7这8个基本数字符号,计数特点是“逢八进一”。在一个八进制数中,不同位置上的数字符号代表的值是不同的,如(1234)8=1×83+2×82+3×81+4×80

④十六进制计数。十六进制数制有0、1、2、…、9、A、B、C、D、E、F这16个基本数字符号,其中A~F分别对应十进制数的10~15。计数特点是“逢十六进一”。

在写十六进制数时需要注意,如果数字以字母开头,则在前面加上0表示开始。

在书写时,一般采用以下两种数值表示方法:

第一种,把一串数字用括号括起来,再加上这种数制的下标,如(10)16、(1001101)2、(235)8,对于十进制数其下标可以省略。

第二种,用进位制的字母符号B(二进制)、O(八进制)、D(十进制)、H(十六进制)来表示,对于十进制其字母符号可以省略。例如,十六进制数0A23B可以表示为0A23BH。

(2)不同进制之间的转换

①r进制转换为十进制。若将r进制数转换为十进制数,只要将r进制按权展开相加即可。

例如,把二进制数11010转换成相应的十进制数。

(11010)2=1×24+1×23+0×22+1×21+0×20=(26)10

②十进制转换为r进制。整数部分和小数部分的转换方法是不相同的,下面分别加以介绍。

a.整数部分的转换。把一个十进制的整数不断除以所需要的基数r取其余数,逆序排列余数,就能够转换成以r为基数的数,这种方法称为除基取余法。例如,把十进制的数转换成相应的二进制数,只要把十进制数不断除以2,并记下每次所得余数(余数总是1或0),再将得到的余数按倒序排列起来即为相应的二进制数。

例如,把十进制数29转换成二进制数,转换过程如图1-11所示。所以,(29)10=(11101)2

b.小数部分转换。要将一个十进制小数转换成r进制小数时,可将十进制小数不断地乘以r,并取整,这称为乘基取整法。再将得到的整数部分按顺序排列起来。

例如,将十进制数0.3125转换成相应的二进制数,如图1-12所示。所以,(0.3125)10=(0.0101)2

图1-11 除基取余法

图1-12 乘基取整法

如果十进制数包含整数和小数两部分,则必须将十进制小数点两边的整数和小数部分分开,分别完成相应转换,然后把r进制整数和小数部分组合在一起。

例如,将十进制数29.3125转换成二进制数,只要将上例整数和小数部分组合在一起即可,即(29.3125)10=(11101.0101)2

c.二、八、十六进制数间的转换。由于二进制、八进制和十六进制之间存在特殊关系,即81=23,161=24,根据这种对应关系,二进制转换到八进制十分简单,只要将二进制数从小数点开始,整数部分从右向左3位一组,小数部分从左向右3位一组,最后不足3位补零。

例如,将二进制数10100101.01011101B转换成八进制数。

所以,10100101.01011101B=245.272O。

二进制到十六进制之间的转换如同二进制到八进制之间一样,只是4位一组。例如,将二进制1111111000111.100101011B转换成十六进制数。

所以,1111111000111.100101011B=1FC7.958H。

将八进制和十六进制转换成二进制的方法正好与上面的过程相反。

各进制间的对应关系如表1-1所示。

表1-1 各进制数间的对应关系

2.原码、反码和补码表示法

在计算机中,机器数也有不同的表示方法,通常用原码、反码和补码3种方式表示,其主要目的是解决减法运算问题。任何正数的原码、反码和补码的形式完全相同,负数则各有不同的表示形式。

(1)原码

正数的符号位用“0”表示,负数的符号位用“1”表示,数值部分用二进制形式表示,这种表示法称为原码。原码与机器数相同。

例如,用8位二进制数表示十进制整数+5和-5时,其原码分别为

下面将考虑一个特例,即+0和-0的原码形式。

[+0]=0 0000000B  [-0]=1 0000000B

由此可见,+0和-0的原码形式不一致,但是从人们的常规意识和运算角度而言,+0和-0的数值、表示形式和存储形式应该是一致的。这种不一致性在计算机处理过程中可能会带来不便。因此,数在计算机中通常不采用原码表示形式。

(2)反码

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

例如,用8位二进制数表示十进制整数+5和-5时,其反码分别为

下面将考虑一个特例,即+0和-0的反码形式。

[+0]=0 0000000B  [-0]=1 1111111B

由此可见,+0和-0的反码形式也不一致。同样,这种不一致性在计算机处理过程中可能会带来不便。因此,数在计算机中通常也不采用反码表示形式。

(3)补码

在普通的钟表上,18时和6时表针所指的位置是相同的,因为它们对于12具有相同的余数,简称同余。补码是根据同余的概念引入的。对于二进制而言,正数的补码和原码相同,负数的补码是其反码加1。

例如,用8位二进制数表示十进制整数+5和-5时,其补码分别为

下面将考虑一个特例,即+0和-0的补码形式。

[+0]=0 0000000B  [-0]=0 0000000B

由此可见,+0和-0的补码形式具有一致性,这既符合人们的常规意识和运算规则,同时对计算机处理而言又具有很大的方便性。因此,在计算机中的数通常采用补码形式进行存储和运算。

3.信息的编码

(1)计算机中的数据单位

计算机内的所有数据都是以二进制形式存储的,占用不同的二进制位。下面介绍计算机中常用的数据单位。

①位。位(bit)。也称比特,是计算机存储数据的最小单位。一位二进制数只能表示0或1,只能占用一个最小的数据单位。

②字节。计算机中最常用的,也是最基本的数据单位是字节(byte),简记B,每字节含8位,即有1B=8bit。1字节的空间能存储一个英文字符的编码。

随着计算机技术的发展,字节这个单位用来描述计算机内的数据大小或存储空间的容量实在太小,于是就有了千字节(KB)、兆字节(MB)和吉字节(GB)等数据单位。

请注意观察下面的换算关系:

1千字节(KB)=1024字节(B)

1兆字节(MB)=1024千字节(KB)

1吉字节(GB)=1024兆字节(MB)

③字。计算机处理数据时,CPU通过数据总线一次存取、处理的数据称为字(word),计算机的运算部件能同时处理的二进制数据的位数称为字长。字长是字节的整数倍。

(2)算机中的数值表示

在计算机中,所有的数据都以二进制的形式表示。数据的正、负号也用0、1表示,通常规定一个数的最高位为符号位,“0”表示正,“1”表示负。把机器内存放的正负号数值化后的数字称为机器数;带符号位的机器数对应的数值称为机器数的真值。例如,二进制数1001,作为有符号数,最高位上的1表示负号,则代表的数值不是形式上的9而是-1;作为无符号数,最高位上的1是实际的数值,代表的数值就是9。

①字符编码。计算机只能识别二进制数据,对于数值型的数据,可以很方便地用上述方法将其转换成二进制数据。除此之外,还要把大量的非数值型数据,如英文字母、各种符号等转换成二进制。目前使用最多、最普遍的是ASCII码(American Standard Code for Information Interchange,美国标准信息交换代码)。ASCII码的每个字符用7位二进制数表示,因此,ASCII码是由27=128个字符组成的字符集。由于ASCII码采用7位编码,没有用到字节的最高位,而1字节等于8位,很多系统就利用这1位作为校验码,以便提高字符信息传输的可靠性。7位ASCII编码如表1-2所示。

表1-2 ASCII编码

②汉字编码。用计算机处理汉字时,必须先将汉字代码化,即对汉字进行编码。汉字数量繁多,编码比较困难,因此在一个汉字处理系统中,对汉字采用不同的编码:输入时,汉字转化为输入码;在计算机处理汉字时采用机内码;显示汉字时转化为显示字形码;交换汉字时又采用交换码。

a.汉字交换码。由于汉字数量极多,一般用连续的两个字节(16个二进制位)来表示一个汉字。1980年,我国颁布了第一个汉字编码字符集标准,即GB 2312—1980《信息交换用汉字编码字符集基本集》,该标准编码简称国标码,是我国大陆地区及新加坡等海外华语区通用的汉字交换码。GB 2312—1980收录了6763个汉字以及682符号,共7445个字符,奠定了中文信息处理的基础。

b.汉字机内码。国标码GB2312不能直接在计算机中使用,因为它没有考虑与基本的信息交换代码ASCII码的冲突。比如,“嘉”的汉字编码为3C4EH,与码值为3CH和4EH的两个ASCII字符“<”和“N”混淆。为了能区分汉字与ASCII码,在计算机内部表示汉字时把交换码(国标码)两个字节最高位改为1,称为“机内码”。这样,当某字节的最高位是1时,必须和下一个最高位同样为1的字节合起来,代表一个汉字。

国标码和汉字机内码的转换关系如下:汉字机内码=国标码+8080H,如“计”字的汉字机内码为其国标码3C46H加上8080H得BCC6H。

c.汉字字形码。所谓汉字字形码,实际上是用来将汉字显示到屏幕上或打印到纸上所需要的图形数据。汉字字形码记录汉字的外形,是汉字的输出形式。记录汉字字形通常有两种方法:点阵法和矢量法,分别对应两种字形编码:点阵码和矢量码。所有的不同字体、字号的汉字字形构成汉字库。

点阵码是一种用点阵表示汉字字形的编码,它把汉字按字形排列成点阵,一个16×16点阵的汉字要占用32B,而且点阵码缩放困难且容易失真。

矢量码是用一组数学矢量来记录汉字的外形轮廓。这种字体容易缩放,不易失真,节省存储空间。

d.汉字输入码。将汉字通过键盘输入到计算机采用的代码称为汉字输入码。根据编码规则,按照读音、字形可以分为流水码、音码、形码、音形结合码4种。

完成过程

(1)了解计算机中数的表示方法。

(2)取任意一个数,将这个数在各种数制之间进行相互转换。

(3)熟悉美国标准信息交换码(ASCII码)及汉字字符在计算机中的表述方式。