计算机文化基础(Windows 7+Office 2010)
上QQ阅读APP看书,第一时间看更新

第1章 概论

计算机是20世纪人类社会最伟大的科技成果之一,计算机技术也是20世纪发展最快的新兴学科。计算机技术的飞速发展,极大地改变了人们的生活和工作。从20世纪90年代起,随着Internet的普及,人类开始进入信息化时代。计算机及其应用已经渗透到社会的各个领域,计算机已经成为人类信息化社会中必不可少的基本工具,计算机技术更是人类信息化社会重要的技术基础,有力地推动了整个信息化社会的发展。在信息化社会中,掌握计算机的基础知识及操作技能是工作、学习、生活所必须具有的基本素质。只有全面认知计算机,充分了解计算机的各项功能,才能使其成为人们的助手,更好地协助人们学习、生活和工作。

本章要点:

●计算机的发展历程;

●计算机的发展趋势;

●计算机的特点、应用及分类;

●计算机中的数制;

●计算机中的编码。

1.1 计算机的发展

1.1.1 计算机的诞生

计算工具的演化经历了由简单到复杂、从低级到高级的发展阶段,例如从“结绳记事”中的绳结到算筹、算盘计算尺、机械计算机等。它们在不同的历史时期发挥了各自的历史作用,同时也启发了电子计算机的研制和设计思路。

一千多年前,中国人发明了算盘(图1-1),广泛应用于商业贸易中,算盘被认为是最早的计算机,并一直使用至今。

在西欧,由中世纪进入文艺复兴时期的社会大变革,大大促进了自然科学技术的发展,人们长期被压抑的创造力得到空前释放。而制造一台能帮助人进行计算的机器,就是这个时代最耀眼的思想火花之一。从那时起,一个又一个科学家为把这一思想火花变成引导人类进入崭新世界的火炬而不懈努力。但限于当时的科技总体水平,这些努力大都失败了。直到17世纪,计算设备才有了第二次重要的进步。

978-7-111-52802-9-Chapter01-1.jpg

图1-1 中国人发明的算盘

1614年,苏格兰人John Napier(1550~1617)发表了一篇论文,其中提到他发明的一种可以计算四则运算和方根运算的精巧装置。

1623年,Wilhelm Schickard(1592~1635)制作了一个能进行六位以内数加减法,并能通过铃声输出答案的“计算钟”。通过转动齿轮来进行操作。

1625年,William Oughtred(1575~1660)发明计算尺。

1820年,法国人Charles Xavier Thomas de Colmar(1785~1870),制作成功第一台成品计算机,非常可靠,可以放在桌面上,在后来的90多年间一直在市场上出售。

1822年,英国人巴贝奇(Charles Babbage,1792~1871)设计了差分机(图1-2)和分析机(图1-3),其设计理论非常超前,类似于百年后的电子计算机,特别是利用卡片输入程序和数据的设计被后人所采用。

978-7-111-52802-9-Chapter01-2.jpg

图1-2 巴贝奇差分机

978-7-111-52802-9-Chapter01-3.jpg

图1-3 巴贝奇分析机

1848年,英国数学家George Boole创立二进制代数学。提前差不多一个世纪为现代二进制计算机铺平了道路。

1878年,在俄国工作的瑞典发明家奥涅尔制造出手摇计算机(图1-4)。

1886年,芝加哥的Dorr E. Felt(1862~1930),制造了第一台用按键操作的计算器,而且速度非常快,按键抬起,结果也就出来了。

1896年,Herman Hollerith创办了IBM公司的前身。

二次世界大战期间,美国陆军阿伯丁武器试验场为了研发远程导弹,每天需要计算6张火力表,每张火力表都要计算出几百条弹道的数据,这项工作既繁重又紧迫。如果用传统的台式计算器计算一条飞行时间为60秒的弹道,最快也得20个小时,即便用大型微积分分析仪进行计算也要花费15分钟。当时宾夕法尼亚大学莫尔学院电工系和阿伯丁弹道研究实验室聘用了200多名计算能手,即便如此,计算一张火力表往往也要花费两三个月,根本无法满足作战要求。

978-7-111-52802-9-Chapter01-4.jpg

图1-4 手摇计算机

为了摆脱这种被动局面,迅速研究出能提高计算能力、速度的方法和工具是当务之急。电气工程师普雷斯波·埃克特(J.Prespen Eckert)和物理学家约翰·莫奇勒博士(John W.Mauchly)带领项目小组,经过两年多努力,终于在1946年成功制造了世界第一台全自动电子数字计算机“埃尼阿克”(英文缩写词是ENIAC,即Electronic Numerical Integrator and Calcula-tor,中文意思是电子数字积分器和计算器)。

这台计算机1946年2月交付使用,共服役9年。它采用电子管作为计算机的基本元件,每秒可进行5000次加减运算。它使用了18000只电子管、10000只电容和7000只电阻,体积85m3,占地170平方米,重量30吨,是一个名副其实的“庞然大物”。ENIAC真空管的损耗率相当高,几乎每15分钟就可能烧掉一支真空管。不仅如此,ENIAC也是位耗电大户,每次一开机,整个费城西区的电灯亮度都会随之降低。

尽管如此,ENIAC的运算速度仍达到每秒钟5040次加法,可以在3/1000秒时间内做完两个十位数乘法。一条炮弹的轨迹20秒钟就能算完,比炮弹本身的飞行速度还要快。

ENIAC的问世标志着电子计算机的问世,具有划时代的意义,人类社会从此大步迈进了计算机时代的门槛。在以后的60多年里,计算机技术发展异常迅速,在人类科技史上还没有一种学科可以与电子计算机的发展速度相提并论。

1.1.2 计算机的发展历程

1946年问世的电子计算机是人类最伟大的科学技术成就之一,它是电子技术和计算技术空前发展的产物,是科学技术与生产力发展的结晶。它的诞生极大地推动着科学技术的发展。

自第一台计算机诞生至今,虽然只有几十年的时间,但计算机已发生了日新月异的变化。大约每5~8年,计算机运算速度就会提高10倍,体积缩小10倍,而成本却降低为原来的1/10。计算机的飞速发展,为计算机的推广应用奠定了坚实的基础。

人们根据计算机使用的元器件的不同,将计算机的发展划分为以下4个阶段。

1.第一代计算机:电子管计算机(1946~1959年)

1946年2月15日,美国宾夕法尼亚大学在晚会上向全世界公开展示了世界上第一台电子计算机ENIAC(电子数字积分计算机)。第一代计算机的主要特点是采用电子管作为基本电子元器件,体积大、耗电量大、寿命短、可靠性低、成本高;存储器采用水银延迟线。在这个时期,没有系统软件,用机器语言和汇编语言编程,计算机只能在少数尖端领域中得到应用,一般用于科学、军事和财务等方面的计算。但是,第一代计算机所采用的基本技术(采用二进制、存储程序控制的方法)却为现代计算机技术的发展奠定了坚实的理论基础。

2.第二代计算机:晶体管计算机(1959~1965年)

这一时期电子计算机的主要元件逐步由电子管改为晶体管,使用磁芯存储器做主存储器,外设采用磁盘、磁带等为辅助存储器,大大增加了存储容量,运算速度提高到每秒几十万次,软件方面,创立了Fortran、Cobol、Basic等一系列高级程序设计语言,并且提出了多道程序设计、并行处理和可变的微程序设计思想。与第一代计算机相比,其体积小、耗电少、性能高,除数值计算外,还用于数据处理、事务管理及工业控制等方面。

3.第三代计算机:集成电路计算机(1965~1971年)

第三代计算机的主要逻辑部件采用中小规模集成电路,主存储器从磁芯存储器逐步过渡到了半导体集成电路器件。这一代计算机的特点是:小型化,耗电省,可靠性高,运算速度快,运算速度提高到每秒几十万到几百万次基本运算,在存储器容量和可靠性等方面都有了较大的提高。同时,计算机软件技术的进一步发展,尤其是操作系统的逐步成熟是第三代计算机的显著特点。这个时期的另一个特点是小型计算机的应用。这些特点使得计算机在科学计算、数据处理、实时控制等方面得到更加广泛的应用。

4.第四代计算机:大规模与超大规模计算机(1971年至今)

其主要特点是:硬件方面,基于基本逻辑部件,采用大规模、超大规模集成电路,主存储器采用半导体存储器,提供虚拟能力,计算机外围设备多样化、系列化,使计算机体积、重量、成本均大幅度降低,计算机的性能空前提高。软件方面,操作系统和高级语言的功能越来越大,出现了面向对象的计算机程序设计编程思想,并广泛采用了数据库技术、计算机网络技术。伴随着微处理器(Micro-processor)技术的诞生,出现了微型计算机。主要应用领域有科学计算、数据处理、过程控制,并进入以计算机网络为特征的应用时代。

随着第四代计算机技术的日趋成熟,自20世纪80年代开始,人们开始研制第五代计算机,被称为“人工智能计算机”。作为新一代计算机,第五代计算机将把信息采集、存储、处理、通信和人工智能结合起来,具有形式推理、联想、学习和解释能力,以超大规模集成电路和人工智能为主要特征。随着第五代计算机研究的进展,人们又先后提出了光学计算机、生物计算机、分子计算机、量子计算机和情感计算机等新概念,这些都属于新一代计算机。

1958年我国成功研发第一台小型电子管通用计算机103机,标志着我国步入计算机发展时代。2009年我国首台千万亿次超级计算机“天河一号”诞生,使我国成为继美国之后世界上第二个能够研制千万亿次超级计算机的国家。

1.1.3 计算机的发展趋势

随着大规模、超大规模集成电路的广泛应用,计算机在存储容量、运算速度和可靠性等各方面都得到了很大的提高。计算机系统正朝着巨型化、微型化、网络化、人工智能化和多媒体化等方向更深入发展。

1.巨型化

巨型化是指其高速运算、大存储容量和强功能的巨型计算机。巨型化的计算能力是为了满足诸如天文、气象、地质、核反应堆等尖端科学的需要,这也是记忆巨量的知识信息以及使计算机具有类似人脑的学习和复杂推理的功能所必需的。巨型机的发展集中体现了计算机科学技术的发展水平。

2.微型化

计算机理论和技术上的不断完善促使微型计算机很快渗透到仪器、仪表、家用电器等小型仪器设备中,同时也作为工业控制的心脏,使仪器设备实现“智能化”,并成为人们生活和学习的必需品。几十年来,随着微电子技术的进一步发展,计算机的体积不断缩小,笔记本型、掌上型等微型计算机体积逐步微型化,为人们提供便捷的服务,以更优的性价比受到人们的欢迎。未来计算机仍会不断趋于微型化,体积将越来越小。

3.网络化

计算机网络化是指利用现代通信技术和计算机技术,把分布在不同地点的多个计算机连接起来的信息处理系统。目前,Internet已经覆盖大多数国家和地区。互联网将世界各地的计算机连接在一起,从此进入了互联网时代。网络化一方面可以使用户共享网络中的信息资源,另一方面可以使计算机的使用具有可扩充性和通用性,未来计算机将会进一步向网络化方面发展。

4.人工智能化

现代计算机具有强大的功能和运行速度,但与人脑相比,其智能化和逻辑能力仍有待提高。智能化是指让计算机具有模拟人的感觉和思维过程的能力。智能计算机具有解决问题和逻辑推理的功能,知识处理和知识库管理的功能等。人与计算机的联系是通过智能接口,用文字、声音、图像等与计算机进行自然对话。智能化使计算机突破了“计算”这一初级的含义,从本质上扩充了计算机的能力,可以越来越多地代替人类脑力劳动。计算机人工智能化是未来发展的必然趋势。

1.2 计算机的特点、应用及分类

1.2.1 计算机的特点

计算机凭借传统信息处理工具所不具备的特征,深入到了社会生活的各个方面,而且它的应用领域正在变得越来越广泛,主要具备以下几个方面的特点。

(1)自动控制能力

计算机是由内部程序控制其操作过程的,只要将事先编制好的应用程序输入计算机,计算机就能自动按照程序规定的步骤完成预定的处理任务。

(2)处理速度快

运算速度快是计算机最主要的特点。计算机由子器件构成,具有很高的处理速度。以前一些依靠人工运算要花费很长时间才能解决的问题,用计算机在很短的时间内就可以得出结果,从而解决一些过去无法解决的问题。这不仅极大地提高了工作效率,而且使时限性强的复杂处理可在限定的时间内完成。

(3)“记忆”能力强

在计算机中有容量很大的存储装置,类似于人的大脑,它不仅可以长久性地存储大量的文字、图形、图像、声音等信息资料,还可以存储指挥计算机工作的程序。

(4)能进行逻辑判断

计算机可以进行逻辑运算,在程序执行过程中,计算机根据上一步的处理结果,能运用逻辑判断能力自动决定下一步应该执行哪一条指令,做出逻辑判断,从而使得计算机具有智能,能巧妙地完成各种任务,从而代替人脑的部分功能而成为人类脑力延伸的有力助手。

(5)很高的计算精度

由于计算机内部采用二进制进行运算,因此可通过增加字长和先进的计算方法来提高精度,使数值计算的精度越来越高,因而计算机的有效位数之多,是其他计算工具所望尘莫及的。在许多对精度要求非常高的科学计算领域,计算机的作用无法估量。

(6)通用性强

计算机能够在各行各业得到广泛的应用,适用于各种不同的应用领域,原因之一就是具有很强的通用性。虽然解决问题的计算方法不同,但是计算机基本操作和运算是相同的。将一台计算机安装不同的软件或连接到不同的设备上,就可以解决不同领域的不同问题。

1.2.2 计算机的应用

计算机诞生后主要被用于数值计算,所以才得名“计算机”。但随着计算机技术的飞速发展,计算机的应用范围不断扩大,已经从科学计算、数据处理、实时控制等扩展到办公自动化、生产自动化、人工智能等领域。计算机的应用领域如图1-5所示。

1.科学计算

科学计算是计算机最早的应用领域。科学计算是指用计算机来解决科学研究和工程技术中所提出的复杂的数学及数值计算问题。计算机是应科学计算的需要而诞生的,是计算机的最早应用领域,目前这方面的应用仍然很广,如火箭运行轨迹的计算、天气预报、大型工程计算,以及天文、地质、生物、数学等基础科学研究和空间技术、新材料研制、原子能研究等高、新技术领域。

978-7-111-52802-9-Chapter01-5.jpg

图1-5 计算机的应用领域

2.数据处理

数据处理又称信息处理,是目前计算机应用的主要领域。信息处理是指用计算机对各种形式的数据进行计算、存储、加工、分析和传输的过程。数据处理不仅可以进行日常的事务处理,还是现代管理的基础,支持科学管理与决策,并广泛地应用于企业管理、情报检索、档案管理、办公自动化等方面。直到今天,数据处理在所有计算机应用中仍稳居第一位,耗费的机时大约占到全部计算机应用的三分之二。

3.过程控制

计算机不仅支持高速运算,而且具有逻辑判断能力。冶金、机械、电力、石油化工等产业早在20世纪60年代就利用计算机对工业生产过程中的某些信号自动进行检测,并把检测到的数据存入计算机,再根据需要对这些数据进行处理,这样的系统称为计算机检测系统。特别是仪器仪表引进计算机技术后所构成的智能化仪器仪表,将工业自动化推向了一个更高的水平。

4.生产自动化

生产自动化(Production Automation)包括计算机辅助设计、计算机辅助制造和计算机集成制造系统等内容。它们是计算机在现代生产领域,特别是制造业中的应用,不仅能提高自动化水平,而且使传统的生产技术发生了革命性的变化。

5.网络通信

随着信息社会的发展,特别是计算机网络的迅速发展,使得计算机在通信领域的作用越来越大,目前遍布全球的因特网(Internet)已把不同地域、不同行业、不同组织的人们联系在一起,缩短了人们之间的距离,也改变了人们的生活和工作方式。

6.人工智能

人工智能(Artificial Intelligence)简称AI,也称“智能模拟”,是应用系统方面一门新的技术科学。人工智能是指利用计算机来模拟人类的大脑,使其具有识别语言、文字、图形和进行推理、学习以及适应环境的能力,主要目的是用计算机来模拟人的智能,以便自动获取知识,解决问题。

1.2.3 计算机的分类

计算机的分类方法有很多种,可以从计算机的结构原理、设计目的、大小和用途等多个方面予以划分。

1.按结构原理分类

(1)数字电子计算机

数字电子计算机以数字量(也称为不连续量)作为运算对象并进行运算,具有运算速度快、准确、存储量大等优点,适用于科学计算、信息处理、过程控制和人工智能等,具有广泛的用途。通常所说的计算机就是指数字计算机。

(2)模拟电子计算机

模拟电子计算机是对电压、电流等连续的物理量进行处理的计算机。输出量仍是连续的物理量。它的精确度较低,应用范围有限,一般用于解微分方程或自动控制系统设计中的参数模拟。

(3)数模混合电子计算机

数模混合指的是集数字和模拟两种计算机的优点于一身,既能处理数字信号,又能处理模拟信号。

2.按设计目的划分

(1)通用电子计算机

通用电子计算机广泛应用于一般科学运算、学术研究、工程设计和数据处理等方面,具有功能多、配置全、用途广、通用性强的特点,市场上销售的计算机多属于通用计算机。

(2)专用电子计算机

专用电子计算机为某种特定目的所设计制造的计算机,其适用范围窄,但结构简单、价格便宜、工作效率高。

3.按大小和用途划分

(1)巨型计算机(Super Computer)

巨型计算机也称巨型机,有极高的速度、极大的容量。巨型机主要用于复杂的科学和工程计算,如国防尖端技术、空间技术、大范围长期性天气预报、石油勘探及社会模拟等领域。这类计算机在技术上朝着两个方向发展:一是开发高性能器件,特别是缩短时钟周期,提高单机性能;二是采用多处理器结构,构成超并行计算机,通常由100台以上的处理器组成超并行巨型计算机系统,它们同时解算一个课题,来达到高速运算的目的。

2009年我国自行研制的“天河一号”,是我国首台千万亿次超级计算机,以每秒33.86千万亿次的浮点运算速度夺得头筹,成为全球最快的超级计算机;2013年我国研制的“天河二号”再次夺得全球超级计算机第一名,比第二名美国的泰坦(Titan)快近一倍。

(2)大中型主机(Mainframe)

大型主机和中型主机统称大型机。大型机规模次于巨型机,价格较贵,有比较完善的指令和丰富的外部设备。大型机多见于大型企业、大专院校和科研机构,主要用于计算机网络和大型计算中心。不过随着计算机与网络的迅速发展,大型机正在走下坡路,许多计算中心的大型机正在被高档计算机群所取代。

(3)小型计算机(Minicomputer)

小型计算机的规模和运算速度比大型机要差,但仍能支持多个用户同时使用,但其和大型机相比价格低廉,操作简单,性能价格比高,适合中小型企事业单位或某一部门所用,例如高等院校的计算机中心都以一台小型机为主机,配以几十台甚至上百台终端机,以满足大量学生学习程序设计课程的需要。小型计算机运算速度和存储容量都比不上大中型主机。

(4)个人计算机(Personal Computer)

个人计算机又称为PC(Personal Computer),也就是我们常说的微型计算机。它虽然问世较晚,却发展迅猛,初学者接触和认识计算机,多数是从PC开始的。个人计算机配置有显示器、键盘、硬磁盘、打印机,以及一个紧凑的机箱和某些可扩展的插槽。个人计算机具有体积小,价格低,功能较全,可靠性高,操作方便等突出优点,现已进入社会生活的各个领域。微型机每秒运算速度在100亿次以下,微型机的普及程度代表了一个国家的计算机应用水平。

(5)工作站(Workstation)

工作站是介于微型计算机和小型计算机之间的一种高档微型计算机。工作站通常配有高档CPU、高分辨率的大屏幕显示器和大容量的内外存储器,具有较高的运算速度和较强的网络通信能力,有大型机或小型机的多任务和多用户功能,同时兼有微型计算机操作便利和人机界面友好的特点,主要用于图像处理、计算机辅助设计(CAD)等领域。

1.3 计算机中的数制与编码

在计算机内部,无论是存储过程、处理过程、传输过程,还是用户数据、各种指令,使用的全都是由0、1组成的二进制数,所以了解二进制数的概念、运算,数制转换及二进制编码对于用好计算机是十分重要的。我们需要掌握常用数制及其转换规则和二进制数的算术、逻辑运算,了解数值、西文字符和汉字的编码规则。

1.3.1 计算机的数制

十进制表示一个数:即以10为模,逢十进一的进制方法。实际上,人们还使用其他的各种进制,如十二进制(一年等于12个月,一英尺等于12英寸,一打等于12个)、六十进制(一小时等于60分钟,一分钟等于60秒),等等。

数制(Number System)也称计数制,是指用一组固定的符号和一套统一的规则来表示数值的方法。其中,按照进位方式计数的数制称为进位计数制。

1.十进制

人们平时使用的十进制数是用0,1,2,3,4,5,6,7,8,9这10个数码组成的数码串来表示数字,其加法规则是“逢十进一”。数码处于不同的位置代表不同的数值,数值的大小与其所处的位置有关。

例如,对于十进制数123.45,整数部分的第一个数码1处在百位,表示100,第二个数码2处在十位,表示20,第三个数码3处在个位,表示3,小数点后第一个数码4处在十分位,表示0.4,小数点后第二个数码5处在百分位,表示0.05。也就是说,十进制数123.45可以写成:

(123.45)10=1×102+2×101+3×100+4×10-1+5×10-2

2.二进制数

二进位计数制简称二进制,它只有两个不同的数码0和1,其加法规则是“逢二进一”。即各数位的位权是以2为底的方幂。

例如:

(10110.10)2=1×24+0×23+1×22+1×21+0×20+1×2-1+0×2-2=(22.50)10

二进制是计算机内部采用的计数方式,具有以下特点:

1)简单可行。二进制只有“0”和“1”两个数码,可以用两种不同的稳定状态来表示。要得到表示两种不同稳定状态的电子器件很容易,而且制造简单,可靠性高。例如,电位的高与低,晶体管的导体与截止,电容的充电与放电等。

2)运算规则简单。二进制的运算规则非常简单。例如,二进制加法规则只有4条,即0+0=0,0+1=1,1+0=1,1+1=10。

3.八进制和十六进制数

八进位计数制简称八进制,基数是8,有8个不同的数码符号:0,1,2,3,4,5,6,7,加法规则是“逢八进一”。

例如:

(123.4)8=1×82+2×81+3×80+4×8-1=(83.5)10

十六进位计数制简称十六进制,采用16个不同的数码符号:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,加法规则是“逢十六进一”。

例如:

(12C.08)16=1×162+2×161+C×160+0×16-1+8×16-2=(300.03125)10

基于上述数制,对于数据586A,从使用的数码可以知道它是十六进制,而对于数据586而言,它是十进制还是十六进制呢,又比如数据110110,这四种进制都有可能。为了区分不同进制的数,在书写时常使用两种不同的方法。

一种方法是将数字用括号括起来,在括号的右下角写上基数来表示不同的数值,例如上面的数据586表示成(586)10,则该数据是十进制数,若表示成(586)16,则该数据是十六进制数。

另一种方法是对于二、八、十和十六进制数据,在数的后面加上一个不同的后缀字母来标识该数的进位制。在二进制数末尾加字母B,在八进制数末尾加字母O,在十进制数末尾加字母D,在十六进制数末尾加字母H。例如上面的数据110110表示成110110B和110110H,则分别为二进制数和十六进制数。

1.3.2 各类数制间的转换

1.非十进制数转换成十进制数

转换方法:用该数制的各位数乘以相应位权数,然后将乘积相加。

例如:将二进制数11010.11转换成十进制数。

(11010.11)2=1×24+1×23+0×22+1×21+0×20+1×2-1+1×2-2=(26.75)10

又如:将十六进制数E8B.20转换成十进制数。

(E8B.20)16=E×162+8×161+B×160+2×16-1+0×16-2=(3723.125)10

2.十进制数转换成二进制数

将十进制数转换为二进制数时,可将数字分成整数和小数分别转换,然后再拼接起来。

整数部分的转换方法:采用“除2取余倒读”法,即将十进制数不断除以2取余数,直到商位是0为止,余数从右到左排列。

小数部分的转换方法:采用“乘2取整整读”法,即将十进制小数不断乘以2取整数,直到小数部分为0。从前面的整数向后读取即可得到结果。如果已超过要求的精度而小数部分仍不能为零,则如同十进制数的四舍五入,判断要求保留的位数后面一位是0还是1,来决定是否进位取舍。如为0则舍掉,如为1则进位,即“0舍1入”。

例:将十进制数158.24转换为二进制数(取三位小数)。

整数部分转换方法:

第1步,将158除以2,商79,余数为0;

第2步,将商79除以2,商39余数为1;

第3步,将商39除以2,商19余数为1;

第4步,将商19除以2,商9余数为1;

第5步,将商9除以2,商4余数为1;

第6步,将商4除以2,商2余数为0;

第7步,将商2除以2,商1余数为0;

第8步,将商1除以2,商0余数为1;

第9步,读出结果。因为最后一位是经过多次除以2才得到的,因此它是最高位,读数字从最后的余数向前读,读出结果(10101000)2

小数部分转换方法:

第1步,将0.24乘以2,得0.48,则整数部分为0,小数部分为0.48;

第2步,将小数部分0.48乘以2,得0.96,则整数部分为0,小数部分为0.96;

第3步,将小数部分0.96乘以2,得1.92,则整数部分为1,小数部分为0.92;

第4步,将小数部分0.92乘以2,得1.84,则整数部分为1,小数部分为0.84;

第5步,读出结果。根据题目“取三位小数”的要求,第4位“1”要进位,然后从第1位整数部分向后读取,读出结果(0.010)2

将十进制转换为其他进制的转换方法跟上述方法类似。

3.二进制数转换成十六进制、八进制数

二进制数转换成十六进制的方法:从二进制数的低位到高位每4位分为一组,然后将每组二进制数所对应的数用十六进制数表示出来。如有小数部分,则从小数点开始分别向左右两边按照上述方法进行分组计算。不足4位的,整数部分左补0,小数部分右补0。

例:将二进制数101110011000111011转换为十六进制数。

978-7-111-52802-9-Chapter01-6.jpg

结果为(101110011000111011)2=(2E63B)16

二进制数转换成八进制数的方法与之类似,只要将上述规则中对二进制数分组时每3位一组即可。

例:将上述二进制数转换为八进制数。

978-7-111-52802-9-Chapter01-7.jpg

结果为(101110011000111011)2=(563073)8

4.十六进制、八进制数转换成二进制数

十六进制转换成二进制数的方法:采用“一分为四”的原则,即从十六进制数的低位开始,将每位上的数用4位二进制表示出来。如有小数部分,则从小数点开始,分别向左右两边按照上述方法进行转换。

例:将十六进制数69EB8转换为二进制数。

978-7-111-52802-9-Chapter01-8.jpg

结果为(69EB8)16=(01101001111010111000)2

表1-1为常用整数各数制间的对应关系。

表1-1 十进制、二进制、八进制、十六进制之间的对应关系

978-7-111-52802-9-Chapter01-9.jpg

1.3.3 数值数据的编码

编码的概念在日常生活中随处可见,例如,学生证上的学号是一个编码,每张人民币纸币上都有一个编码。这两个编码中,前者往往用十进制数表示,后者则是由十进制数和英文字母混合而成。下面详细介绍各种不同类型的信息在计算机中采用二进制进行编码的方法。

1.3.4 字符的编码

在计算机中对字符进行编码,通常采用ASCII码和Unicode编码。

(1)ASCII码

ASCII码是American Standard Code for Information Interchange(美国信息互换标准代码)的简称,已经被国际标准化组织(ISO)指定为国际标准,称为ISO646标准,适用于所有拉丁文字字母。标准ASCII码采用7位二进制数来表示所有的大写和小写字母、数字0~9、标点符号,以及在美式英语中使用的特殊控制字符等128个字符。这128个字符可以分为95个可显示/打印字符和33个控制字符两类。在8个二进制位中,ASCII采用了7位(b0~b6)编码,空闲最高位b7常用作奇偶校验位。

标准ASCII码字符集见表1-2。

表1-2 标准ASCII码字符集

978-7-111-52802-9-Chapter01-10.jpg

表中的每个字符对应一个二进制编码,每个编码的数值称为ASCII码的值,例如,字母A的编码为1000001B,即65D或41H。由于ASCII码只有7位,在用一个字节保存一个字符的ASCII码时,占该字节的低7位,最高位补0。

可以看出,数字0~9的ASCII码的值范围是48~59,大写字母的ASCII码的值范围是65~90,小写字母的ASCII码的值范围是97~122,其顺序与字母表中的顺序是一样的,并且同一个字母的大小写ASCII码的值相差32。

(2)Unicode编码

扩展的ASCII码一共提供了256个字符,但用来表示世界各国的文字编码显然是远远不够的,还需要表示更多的字符和意义,因此又出现了Unicode编码。

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode编码自1994年公布以来已得到普及,广泛应用于Windows操作系统、Office等软件中。

1.3.5 汉字的编码

计算机对汉字信息的处理过程实际上是各种汉字编码间的转换过程。这些编码主要包括汉字输入码、汉字内码、汉字字形码、汉字地址码和汉字信息交换码等。下面首先介绍汉字字符集的概念,然后再介绍各种编码的作用。

1.汉字字符集

由于汉字数量巨大,不可能对所有的汉字都进行编码。可以在计算机中处理的汉字是指包含在国家或国际组织制定的汉字字符集中的汉字。常用的汉字字符集有以下几种。

(1)GB2312-1980编码

GB2312-1980编码全称为《信息交换用汉字编码字符集——基本集》,简称交换码或国标码,是由国家标准总局发布的简体中文字符集的中国国家标准。国内几乎所有的中文系统和国际化软件都支持GB2312-1980标准,该标准收录了6763个常用汉字、682个非汉字符号,并为每个字符规定了标准代码。

GB2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国内地所使用汉字99.75%的比例。对于人名、古汉语等方面出现的生僻字、罕用字,GB2312无法处理,这就导致了后来GBK及GB 18030汉字字符集的出现。

(2)GBK编码

GBK编码的全称是“汉字内码扩展规范”,由全国信息技术标准化技术委员会制定。GBK编码标准兼容GB2312,共收录了汉字21003个、符号883个,并提供1894个造字码位,且简、繁体字融于一库。

(3)CJK编码

CJK的含义是中日韩统一表意文字,目的是要把来自中文、日文、韩文、越文中,本质、意义相同,形状一样或稍异的表意文字(主要为汉字,但也有仿汉字)于ISO10646及Unicode标准内赋予相同编码。CJK编码是GB2312-1980编码等字符集的超集。

(4)GB18030编码

GB18030编码的全称是“信息交换用汉字编码字符集基本集的扩充”,目前最新版本是GB18030-2005,是在GB2312-1980和GBK编码标准基础上扩展而成的。GB18030编码支持全部CJK统一汉字字符。

2.汉字的编码

(1)输入码

汉字输入码是为了将汉字通过键盘输入计算机而设计的代码,也称为外码。汉字输入方案很多,综合起来可分为数字编码、音码、形码和音形码。例如,微软拼音—简捷2010输入法是音码,而五笔字型是形码中最有影响的编码方法。

(2)区位码

将GB2312字符集放置在一个94行、94列的方阵中,方阵的每一行称为汉字的一个“区”,区号范围是1~94,方阵的每一列称为汉字的一个“位”,位号范围是1~94。这样,汉字在方阵中的位置可以用它的区号和位号来确定,将区号和位号组合起来就得到该汉字的区位码。区位码用4位数字编码,前两位是区号,后两位是位号。例如,汉字“中”在54区48位,其区位码就是5448。

在区位码中,01~09区为682个特殊字符,16~87区为汉字区,其中包含6763个汉字。汉字区中16~55区为一级汉字(包含3755个最常用的汉字,按拼音字母的次序排列),56~87区为二级汉字(包含3008个汉字,按部首次序排列)。

(3)国标码

国标码中用两个字节对汉字进行编码。先将汉字区位码中的十进制区号和位号分别转换成十六进制数字,然后分别加上20H,可以得到该汉字的国标码。

例如,汉字“家”的区位码是2850,计算其国标码。

汉字“家”的区号28转换成十六进制数字为1C,位号50转换成十六进制数字为32,两个字节分别加上20H,即3630H+2020H,得到汉字“家”的国标码为3C52H。

(4)汉字机内码

汉字机内码简称内码,是供计算机系统进行存储、加工处理和传输所使用的代码。

汉字“家”的国标码为3C52H,这两个字节分别用二进制表示就是00111100和01010010,在ASCII表中分别代表符号“〈”和英文字母R。如果在计算机中有两个字节的内容分别是00111100和01010010,那就无法确定究竟是表示一个汉字“家”,还是分别表示符号“〈”和英文字母R。

为解决这类问题,通常是将汉字国标码两个字节的最高位都设置为1,即对国标码的两个字节分别加上10000000B(即80H),从而得到汉字机内码。

例如,计算汉字“家”的机内码。

汉字“家”的国标码为3C52H,因此汉字“家”的机内码为3C52H+808OH=BCD2H。

综上所述,区位码、国标码和机内码之间的关系为:国标码=区位码+2020H,“机内码”=国标码+8080H。

(5)汉字字形码

汉字字形码供显示和打印汉字时使用,字形码和输入码都称为外码。每个汉字的字形信息事先保存在计算机中,称为汉字库。每个汉字的字形和机内码一一对应。在输出汉字时,首先根据机内码在汉字库中查找相应的字形信息,然后利用字形信息进行显示和打印。

描述汉字字形的方法主要有点阵字形和轮廓字形两种。汉字字形点阵有16×16点阵、24×24点阵、32×32点阵等。一个汉字方块中行数、列数划分得越多,描绘的汉字就越细致,其占用的存储空间也相应增加。汉字字形点阵中每个点的信息用一位二进制码表示。对于16×16点阵的字形码,就需要用16×16÷8=32个字节表示。

1.4 习题

1.下列字符中ASCII码值最大的一个是( )。

A.@ B.$ C.Y D.y

2.十进制数100转换成二进制数是( )。

A.0110101 B.01111110 C.01100110 D.01100100

3.下列有关信息和数据的说法中,错误的是( )。

A.文字、数值、图形、语言、图像等都是不同形式的数据

B.数据具有针对性、时效性

C.数据处理之后产生的结果就是信息,信息是有意义的,数据没有意义

D.数据是信息的载体

4.计算机发明之初的应用领域是( )。

A.数据挖掘B.云计算C.物联网D.数值计算

5.无符号二进制整数01001011转换成十进制整数是( )。

A.81 B.75 C.95 D.70

6.世界公认的第一台电子计算机诞生于( )。

A.1943年 B.1950年 C.1946年 D.1951年

7.第二代计算机的下列特点中,错误的是( )。

A.内存主要采用磁芯

B.外存储器主要采用磁盘和磁带

C.采用电子管作为逻辑元件

D.运算速度为每秒几万至几十万条指令

8.计算机发展到现代,所采用的电子元器件是( )。

A.小规模集成电路

B.电子管

C.大规模和超大规模集成电路

D.晶体管

9.以下关于系统软件的描述中,正确的是( )。

A.系统软件与具体硬件逻辑功能无关

B.系统软件是在应用软件基础上开发的

C.系统软件并不能具体提供人机界面

D.系统软件与具体应用领域无关

10.英文字母D的ASCII码是01000100,那么英文字母B的ASCII码是( )。

A.01000100 B.01000001 C.01000111 D.01000010

11.下列选项中不属于计算机的主要技术指标的是( )。

A.存储容量 B.时钟主频 C.字长 D.体积大小

12.二进制数01011001和10101101相加后运算结果是( )。

A.100000110 B.011110001 C.101001001 D.10100011

13.标准ASCII码使用7位二进制数表示字符,那么其不同的编码共有( )。

A.127个 B.256个 C.128个 D.254个

14.ASCII码表中码值由小到大的排列顺序是( )。

A.空格字符、数字符、大写英文字母、小写英文字母

B.数字符、大写英文字母、空格字符、小写英文字母

C.空格字符、数字符、小写英文字母、大写英文字母

D.数字符、大写英文字母、小写英文字母、空格字符

15.存储一个24×24点的汉字字形码需要( )。

A.64字节 B.16字节 C.72字节 D.32字节

16.下列各数中,( )是正确的八进制数。

A.8915 B.1323 C.3906 D.236F

17.计算机的发展趋势是( )、微型化、网络化和智能化。

A.小型化 B.精巧化 C.大型化 D.巨型化

18.计算机中信息的最小单位是( )。

A.Byte B.bit C.DoubleWord D.Word