• 沒有找到結果。

大学计算机基础(第三版) - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "大学计算机基础(第三版) - 万水书苑-出版资源网"

Copied!
29
0
0

加載中.... (立即查看全文)

全文

(1)

现代计算机的诞生是 20 世纪人类最伟大的发明之一。 人类社会正在进行第三次产业革命, 即信息革命。信息革命的标志就是计算机技术和通信技术的发展和普及。随着人类进入 21 世 纪, 电子计算机已成为各行业普遍使用的基本工具之一。 掌握以现代计算机为核心的信息技术 的基础知识,提高计算机应用能力,特别是利用计算机为自身专业服务的能力,是当代大学生 必备的基本素质之一。本章介绍计算机的基本知识。

本章主要学习内容

l 信息技术概述 l 计算机的发展与应用 l 计算机中数据的表示 l 计算机中数的表示 

1.1 信息技术概述

1.1.1 信息与信息的特征

目前,关于信息作为科学的概念和范畴的定义,在学术界尚未取得一致的意见。据有关文 献统计,关于信息的定义有数百种,以下是其中几种较典型的定义: (1)信息是指可以用语言、文字、数据、图表、图形或其他可以让使用者识别的符号来 表示的,并可以进行传递、处理及应用的对象。 (2)信息是数据的含义,数据是信息的载体。 (3)信息是以数据形式表达的客观事实。 (4)信息是人们对客观世界某一方面的了解。 从信息的定义可以看出, 信息是一个相当深刻且非常丰富的概念, 其内涵和外延是在不断 变化和发展中。信息具有可识别、可存储、可扩充、可压缩、可传递、可转换、特定的范围有 效等特征。 首先,信息是可以识别的。信息的识别可分为直接识别和间接识别。直接识别是指通过人 体感觉器官的识别,间接识别是指通过各种测试手段的识别,不同的信息有不同的识别方法。 例如, 正常人能利用视觉识别物体的颜色, 驾驶员能利用视觉与听觉识别交通警察的交通指令。

1

计算机基础知识

(2)

又如,我们能使用温度计测量物体的温度等。 其次,信息可以通过各种方法存储,且随着时间的变化可以不断扩充。例如,我们可以把 信息记录在纸上,也可以存储在计算机的存储器中,当然也可以存储在人的大脑中。信息的可 压缩性是指人们对信息进行加工、整理、概括、归纳就可使之精练,从而浓缩。在计算机中, 为了存储的需要,也可通过一些数据压缩方法对信息进行压缩。 第三,信息可以通过传输媒介传递,信息也可以从一种形态转换成另一种形态。如信息通 过报纸、电视进行传递,或通过电话或计算机网络告之他人,这就是信息通过媒介的传递。又 如, 我们从报纸上看到的新闻可通过语言告诉他人, 也可把视觉可识别的电影转化为硬盘能存 储的磁信号,这些都是信息形态的变化。信息的可传递性是信息的本质特征。 最后,信息在特定的范围内才有效,超过了特定的范围的信息为无效信息。所谓特定范围 有时间范围与空间范围之分。例如,当天的天气预报信息只有当天有效,过了当天就是无效信 息。 一个单位在特定时间内的人才招聘信息只有在招聘的时间内有效, 过了招聘时间后就是无 效信息。又如,人的体重在地球上是 70kg,到了太空,此信息为无效信息。

1.1.2 什么是信息技术

信息技术常被简称为 IT 技术(Information Technology,IT)。什么是信息技术?不同的时 期有不同的理解。目前,对信息技术的定义大致有如下三种。 (1)信息技术是指有关信息的收集、识别、提取、变换、存储、处理、检索、检测、分 析和利用等的技术。 (2)信息技术是指利用电子计算机和现代通信手段获取、传递、存储、处理、显示信息 和分配信息的技术。 (3)国内有些专家学者认为,信息技术是指研究信息如何产生、获取、传输、变换、识 别和应用的科学技术。 信息技术反应了一个时代的技术特征,时代不同,其采用的信息技术也不同,信息技术可 能是机械的,也可能是激光的,可能是电子的,也可能是生物的。 现在的时代是一个数字化的时代,数字化时代的信息技术是以微电子和光电技术为基础, 以计算机和通信技术为支撑, 以信息处理技术为主题的技术系统的总称, 是一门综合性的技术。 电子计算机和通信技术的紧密结合,标志着数字化信息时代的到来。

1.1.3 信息技术的发展

人类进行通信的历史已很悠久。早在远古时期,人们就通过简单的语言、壁画等方式交换 信息。千百年来,人们一直在用语言、图符、钟鼓、烟火、竹简、纸书等传递信息,古代的烽 火狼烟、飞鸽传信、驿马邮递就是信息通信的例子。现在还有一些国家的个别原始部落仍然保 留着诸如击鼓鸣号这样古老的通信方式。在现代社会中,交警的指挥手语、航海中的旗语等都 是古老通信方式进一步发展的结果。这些信息的传递都依靠人的视觉与听觉来进行。  19  世纪中叶以后,随着电报、电话的发明,电磁波的发现,人类通信领域产生了根本性 的变革,实现了利用金属导线来传递信息,甚至通过电磁波来进行无线通信,使人类的信息传 递可以脱离常规的视、听、觉方式,用电信号作为新的载体,由此,带来了一系列的技术革新, 开始了人类通信的新时代。  1837  年,美国人塞缪·摩尔斯(Samuel  Morse)成功地研制出世界上第一台电磁式电报

(3)

机。他利用自己设计的电码,可将信息转换成一串或长或短的电脉冲传向目的地,再转换为原 来的信息。1844 年 5 月 24 日,摩尔斯在国会大厦联邦最高法院会议厅用“摩尔斯电码”发出 了人类历史上的第一份电报,从而实现了长途电报通信。1864  年,英国物理学家麦克斯韦 (J.C.Maxwel)建立了电磁理论,预言了电磁波的存在,说明了电磁波与光具有相同的性质, 两者都是以光速传播的。1875 年,苏格兰青年亚历山大·贝尔(A.G.Bell)发明了世界上第一 台电话机。1878 年,在相距 300 公里的波士顿和纽约之间进行了首次长途电话实验,并获得 了成功,后来就成立了著名的贝尔电话公司。1888  年,德国青年物理学家海因里斯·赫兹 (H.R.Hertz)开展了一系列实验,发现了电磁波的存在,他用实验证明了麦克斯韦的电磁理 论。这个实验轰动了整个科学界,成为近代科学史上的一个重要里程碑,导致了无线电的诞生 和电子技术的发展。电磁波的发现产生了巨大影响。不到 6 年的时间,俄国的波波夫、意大利 的马可尼相继发明了无线电报, 实现了信息的无线电传播, 其他的无线电技术也如雨后春笋般 涌现出来。  1904  年,英国电气工程师弗莱明发明了二极管。1906  年,美国物理学家费森登成功地 研究出无线电广播。1907  年,美国物理学家德福莱斯特发明了真空三极管,美国电气工程 师阿姆斯特朗应用电子器件发明了超外差式接收装置。1920  年,美国无线电专家康拉德在 匹兹堡建立了世界上第一家商业无线电广播电台,从此广播事业在世界各地蓬勃发展,收音 机成为人们了解时事新闻的方便途径。1924  年,第一条短波通信线路在瑙恩和布宜诺斯艾 利斯之间建立,1933  年,法国人克拉维尔建立了英法之间第一条商用微波无线电线路,推 动了无线电技术的进一步发展。 电磁波的发现也促进图像传播技术迅速发展起来。1922 年,16 岁的美国中学生菲罗·法 恩斯沃斯设计出第一幅电视传真原理图,1929  年申请了发明专利,被裁定为发明电视机的第 一人。1928  年,美国西屋电器公司的兹沃尔金发明了光电显像管,并同工程师范瓦斯合作, 实现了电子扫描方式的电视发送和传输。1935  年,美国纽约帝国大厦设立了一座电视台,次 年就成功地把电视节目发送到 70 公里以外的地方。1938 年,兹沃尔金又制造出第一台符合实 用要求的电视摄像机。经过人们的不断探索和改进,1945  年,在三基色工作原理的基础上美 国无线电公司制成了世界上第一台全电子管彩色电视机。直到 1946 年,美国人罗斯·威玛发 明了高灵敏度摄像管, 同年日本人八本教授解决了家用电视机接收天线问题, 从此一些国家相 继建立了超短波转播站,电视迅速普及开来。 图像传真也是一项重要的通信。 自从 1925 年美国无线电公司研制出第一部实用的传真机, 传真技术不断革新。1972 年以前,该技术主要用于新闻、出版、气象和广播行业;1972 年至  1980  年间,传真技术已完成从模拟向数字,从机械扫描向电子扫描,从低速向高速的转变, 除代替电报和用于传送气象图、新闻稿、照片、卫星云图外,还在医疗、图书馆管理、情报咨 询、金融数据、电子邮政等方面得到应用。1980  年后,传真技术向综合处理终端设备过渡, 除承担通信任务外,还具备图像处理和数据处理的能力,成为综合性处理终端。静电复印机、 磁性录音机、雷达、激光器等都是信息技术史上的重要发明。 此外,作为信息超远控制的遥控、遥测和遥感技术也是非常重要的技术。遥控是利用通信 线路对远处被控对象进行控制的一种技术,用于电气、输油管道、化学工业、军事和航天;遥 测是将远处需要测量的物理量如电压、电流、气压、温度、流量等变换成电量,利用通信线路 传送到观察点的一种测量技术, 用于气象、 军事和航空航天业; 遥感是一门综合性的测量技术, 在高空或远处利用传感器接收物体辐射的电磁波信息, 经过加工处理, 用能够识别的图像或电

(4)

子计算机用的记录磁带提示被测物体的性质、形状和变化动态,主要用于气象、军事和航空航 天等领域。 随着电子技术的高速发展,军事、科学研究迫切需要解决的计算工具也大大改进。1946  年, 美国宾夕法尼亚大学的埃克特和莫希里研制出世界上第一台电子计算机。 电子元器件材料 的革新进一步促使电子计算机朝小型化、高精度、高可靠性方向发展。20 世纪 40 年代,科学 家们发现了半导体材料,用它制成晶体管,替代了电子管。1948  年,美国贝尔实验室的肖克 莱、巴丁和布拉坦发明了晶体三极管,于是晶体管收音机、晶体管电视、晶体管计算机很快代 替了各式各样的真空电子管产品。1959  年,美国的基尔比和诺伊斯发明了集成电路,从此微 电子技术诞生了。1967  年,大规模集成电路诞生了,一块米粒般大小的硅晶片上可以集成  1  千多个晶体管线路。1977 年,美国、日本科学家联合制成超大规模集成电路,30 平方毫米的 硅晶片上集成了 13 万个晶体管。微电子技术极大地推动了电子计算机的更新换代,使电子计 算机具有了前所未有的信息处理功能,成为现代高新科技的重要标志。 为了解决资源共享问题, 单一计算机很快发展成为计算机网络, 实现了计算机与计算机之 间的数据通信、数据共享。通信介质从普通导线、同轴电缆发展到双绞线、光纤导线、光缆; 电子计算机的输入、输出设备也飞速发展起来,扫描仪、绘图仪、音频视频设备等,使计算机 如虎添翼,可以处理更加复杂的问题。20 世纪 80 年代末多媒体技术的兴起,使计算机具备了 综合处理文字、声音、图像、影视等各种形式信息的能力,日益成为信息处理最重要和必不可 少的工具。  20 世纪 90 年代初期,随着 WWW 的发展,Internet 逐渐走向民用。由于 WWW 良好的界 面大大简化了 Internet 操作的难度,使得用户的数量急剧增加,许多政府机构、商业公司意识 到  Internet 具有巨大的潜力,于是纷纷加入 Internet,这样 Internet 上的结点数量大大增加。网 络上的信息多种多样,十分丰富,如今 Internet 已经深入到人们生活的各个部分,通过 WWW  浏览、电子邮件等方式,人们可以及时地获得自己所需的信息,Internet  大大方便了信息的传 播,给人们带来一个全新的通信方式,可以说 Internet 是继电报、电话发明以来人类通信方式 的又一次革命。 随着人类步入 21 世纪,信息技术发展到第三代移动通信技术(3rd Generation,3G)。3G  是指将无线通信与互联网等多媒体通信结合的新一代移动通信系统, 有人简称之为 “无线互联 网” 。3G 提供的了许多精彩业务,如可视电话,可以让天涯海角的两名通话者在手机上面对面 交谈。另外基于视频应用的 3G 业务,如视频留言,当视频呼叫的被叫方遇到忙、不在服务区 或关机等情况时,主叫方可以录制一段视频留言发送给被叫方,当被叫方接到短信通知时,就 可以到视频留言系统收看对方刚才的视频留言了。而目前的音乐彩铃也将升级到多媒体彩铃, 当被叫方处于空闲状态时,主叫方可以一边收看多媒体内容的彩铃一边等待。我们相信,手机 电视、手机购物、手机搜索也将成为我们的生活中必不可少的一部分。

1.1.4 信息技术的组成

现代信息技术主要包括传感技术、通信技术、计算机技术和缩微技术等。 传感技术的任务是延伸人类的感觉器官收集信息的功能; 通信技术的任务是延伸人的神经 系统传递信息的功能; 计算机技术则是延伸人的思维器官处理信息和决策的功能; 缩微技术是 延伸人的记忆器官存储信息的功能。当然,这种划分只是相对的、大致的,没有绝对的界限。 如传感系统中也有信息的处理和收集,而计算机系统中既有信息传递,也有信息收集的问题。

(5)

目前, 传感技术已经发展了一大批敏感元件, 除了普通的照相机能够收集可见光波的信息, 微音器能够收集声波信息之外,还有了收集红外、紫外等光波波段的敏感元件,帮助人们提取 那些人眼所见不到的重要信息。 还有超声和次声传感器, 可以帮助人们获得人耳听不到的信息。 不仅如此,人们还制造了各种嗅敏、味敏、光敏、热敏、磁敏、湿敏以及一些综合敏感元件。 这样, 可以把人类感觉器官收集不到的各种有用信息提取出来, 从而延伸和扩展人类收集信息 的功能。 通信技术的主要功能是实现信息快速、 可靠、 安全的转移, 各种通信技术都属于这个范畴。 广播技术也是一种传递信息的技术。当然,信息的存储与记录也可以看成是从“现在”向“未 来”或从“过去”向“现在”传递信息的一种活动,因而也可将它看作信息传递技术的一种。 由于人类有通信的迫切需求,因此,通信技术的发展速度非常快。从传统的电话、电报、收音 机、电视到如今的移动电话、传真、卫星通信,这些新的人人可用的现代通信方式使数据和信 息的传递效率大幅度提高,从而使过去必须由专业的电信部门来完成的工作,行政、业务部门 办公室的工作人员也可直接方便地完成。 计算机技术同通信技术一样属于信息技术的核心内容。 随着电子技术的发展, 计算机技术 同样取得了飞速的发展。计算机体积由大变小,功能由弱变强。目前,信息的处理主要用计算 机来实现。所谓信息处理是指对信息的收集、分类、加工、存储与传输等过程。在对信息进行 处理的基础上,可形成一些新的更深层次的决策信息,这个过程称为信息的“再生” 。信息的 处理与再生都有赖于现代电子计算机的功能。 随着计算机的发展, 计算机的应用也取得了很大 的发展。例如,电子出版社系统的应用改变了传统的印刷业、出版业;计算机文字处理系统的 应用使作家改变了原来的写作方式,被称作“换笔”革命;光盘的使用使人类的信息存储能力 得到了很大程度的延伸, 出现了电子图书这样的新一代电子出版物; 多媒体技术的发展使音乐 创作、动画制作等成为普通人可以涉足的领域。 缩微技术是缩微影像技术的简称,是一种涉及多学科、多部门、综合性强且技术成熟的现 代化信息处理技术。 起源于 1838 年英国摄影师丹赛用摄影的方法通过显微镜第一次把一张 20  英寸的文件拍成 1/8 英寸的缩微影像, 至今发展已近二百年。 它采用专门的设备、 材料和工艺, 把原始信息原封不动地以缩小影像的形式记录在感光材料(通常是胶片)上,经加工制作成缩 微品保存、传播和使用。目前,随着科学技术的发展,金融系统、卫生系统、保险系统、工业 系统均采用缩微技术复制了纸质载体的文件,改变了过去传统的管理方法,提高了档案文件、 文献资料的管理水平,提高了经济效益。 缩微技术的主要特色是存储密度大,技术成熟,稳定性高;记录效果好,寿命长;易于还 原复制;同时也能起法律凭证作用。 国外的缩微技术发展很快, 美国是缩微技术最发达的国家。 例如, 闻名世界的美国 UMI  公 司就是一个收集、 储藏, 以及提供文献检索的出版公司, 其服务范围包括近 150 万册历代书籍、 期刊、博士论文、档案以及原件检索服务。它的产品不但包括印刷品、缩微平片,而且提供机 读信息。第二次世界大战期间,该公司利用所微技术,抢救了大英博物馆的许多珍贵文献。迄 今为止,该公司存有自 15 世纪至今的 10 万种世界各地的绝版书。 除了上述技术外, 信息技术还包括信息识别技术与信息施用技术。 信息识别技术包括文字 识别、语音识别和图形识别等技术。信息施用技术是信息过程的最后环节,它包括控制技术、 显示技术等。 传感技术、通信技术、计算机技术和控制技术是信息技术的四大基本技术,其中现代计算

(6)

机技术和通信技术是信息技术的两大支柱。 

1.2 计算机的发展与应用

现代计算机是一种能够存储程序,并能按照程序自动、高速、精确地进行大量计算和信息 处理的智能电子设备。 它是科学技术发展的象征, 也是促进科学技术和生产力高速发展的有力 工具。 目前, 计算机的发展程度与应用水平已成为衡量一个国家或个地区的科学技术发展水平 和经济实力的重要标志。

1.2.1 计算机的发展

我们可以把计算机发展过程划分为以下几个阶段。  1.机械计算机(1930 年以前) 在这一阶段,人们发明了一些用来计算的机器。较典型的有:17  世纪,由法国著名数学 家和哲学家 Blaise  Pascal 发明的用来进行加减运算的机器 Pascaline;1890 年,在美国国家统 计局工作的 Herman Hollerith 设计并制造出具有编程能力的机器,该机器可以自动阅读、计数 和排列存储在穿孔卡上的数据。 尽管这些机械计算机在当时也许很好, 但从这些计算机上却看 不到现代计算机的影子。  2.电子计算机(1930 年至 1950 年) 在这个时期, 那些被视为电子计算机工业的先驱的科学家们发明了一些机器。 较典型的是:  1939 年,John V.Atanasoff 和他的助手 Clifford Berry 一起发明了用于解决一些线性方程系统的  ABC(Atanasoff  Berry  Computer)机。在这个时期,第一台通用的完全电子化的计算机是在  1946 年 2 月由 John Mauchly 和 J.Presper Eckert 设计完成。这台计算机当时被命名为电子数字 集成器和计算器(Electronic Numerical Integrator And Calculator,ENIAC),它共用了 18000 多 个真空管和 1500 多个继电器,占地面积 170 平方米,重达 30 吨,每秒钟能完成 5000 次加法 计算。ENIAC  计算机的主要缺点是存储容量小以及用线路连接的方法编排程序等。这台机器 服役了 9 年左右,于 1955 年 10 月光荣退役。 为了解决人工改接线路这一缺点,1946 年 6 月,美籍匈牙利数学家冯·诺依曼(John Von  Neumann)提出了“存储程序”的计算机方案,即程序和数据都应该存储在计算机的存储器中。 第一台基于冯氏思想的计算机于 1950 年在宾夕法尼亚大学诞生,当时被命名为电子离散变量 自动计算机(Electronic Discrete Variable Automatic Computer,EDVAC)。EDVAC 在两个方面 进行了关键性的改进: 一是把计算机要执行的指令和要处理的数据都用二进制表示; 二是把要 执行的指令和要处理的数据按照顺序编成程序存储到计算机内部且让它自动执行 (存储程序控 制原理) 。冯氏思想为现代计算机的发展奠定了坚实的基础。  3.现代计算机(1950 年至现在) 这一阶段的计算机几乎都基于冯·诺依曼模型的。虽然现代计算机速度更快、体积更小、 价格更便宜,但基本上都是基于冯·诺依曼“程序存储”的原理。这一时期的计算机按使用的 电子元件划分为电子管、晶体管、中小规模集成电路与大规模集成电路四代。每一代计算机的 改进主要体现在硬件或软件方面的变化,并不基于模型的改变。 (1)电子管计算机时代。  1950 年到 1959 年,这段时期被称为电子管计算机时代,该时期计算机内部使用的主要部

(7)

件是电子管。 这一代计算机的主要特征是用电子管作为运算与逻辑元件, 用机器语言和汇编语 言编写程序。第一代计算机体积庞大,造价昂贵,运算速度低,存储容量小,可靠性与稳定性 差,主要用于科学与工程计算。 (2)晶体管计算机时代。 从 1959 年到 1965 年间,计算机中采用了比电子管先进的晶体管。晶体管与电子管相比, 具有体积小,能量消耗低,可靠性与稳定性高的特点。晶体管时代的计算机的程序语言从机器 语言发展到汇编语言, 高级语言 FORTRAN 和 COBOL 相继开发并被广泛使用, 同时开始使用 磁盘和磁带作为辅助存储器。 由于第二代计算机的体积和价格下降, 人们开始接受并使用计算 机,这个时期计算机工业开始迅速发展。 (3)中小规模集成电路计算机时代。 从 1965 年到 1975 年间,集成电路技术发展起来,并被广泛应用到计算机中来,因此,在 这个时期生产的计算机被称为中小规模集成电路计算机。集成电路(Integrated  Circuit)是制 作在一块晶片上的完整的电子电路。这个晶片看似小,却集成了上千个晶体管元件。第三代计 算机与第二代计算机相比,它的主要特点是体积更小、价格更低、可靠性与稳定性更高、计算 速度更快。 这一阶段计算机的主要特征是用集成电路代替了分立的晶体管元件, 用半导体存储 器取代了磁芯存储器,操作系统软件也日益成熟。这一时期计算机的设计已逐步走向标准化、 规模化和系列化,在科学计算、数据处理与过程控制等领域得到了广泛的应用。 (4)大规模与超大规模集成电路计算机时代。 从 1975 年至今,计算机使用的元件依然是集成电路,但集成电路的集成度大幅提高,达 到几十万甚至上百万个电子元件,人们称之为大规模集成电路(Large Scale Integrated Circuit,  LSI)和超大规模集成电路(Very Large Scale Integrated Circuit,VLSI)。第四代计算机最重要 的成就表现在微处理器(Microprocessor)技术上,微处理器是一种小型化的电子产品,把计 算机的运算和控制等核心部件集成在一块集成芯片上。1975 年,美国 IBM 公司推出了个人计 算机(Personal Computer,PC),从此,计算机开始深入到人们生活的各个领域。  20 世纪 80 年代以后,人们着手研制新一代计算机。新一代的计算机的特点是以人工智能 原理为基础,把信息采集、存储、加工、传输和人工智能结合在一起,使计算机具有形式推理、 联想、学习和解释能力。这样的计算机突破了原有的冯·诺依曼体系结构,实现了高度的并行 处理,主要着眼于机器的智能化,使计算机具有智能接口,可以模拟或部分代替人的智能活动 并具有自然的人机通信能力。具有这种能力的计算机被称为智能计算机,也称作 “机器人” 。  4.未来计算机 从未来计算机的发展角度来看,科学界看好的计算机除了现代的计算机外,还看好 DNA  生物计算机、光子计算机和量子计算机三类计算机。 (1)DNA  生物计算机。DNA  生物计算机是美国南加州大学伦纳德·阿德拉曼博士在  1994 年提出的设想,该设想是通过控制 DNA 分子间的生化反应来完成数据的运算。这种计算 机使用两种酶作为计算机的“硬件” ,DNA 作为计算机的“软件” ,输入和输出的“数据”都 是 DNA 链。把溶有这些“数据”的溶液恰当地混合,就可以在试管中自动发生反应,这种反 应被称之为“运算” 。这样的计算机由一堆装着有机液体的试管组成。 (2)光子计算机。光子计算机与传统硅芯片组成的计算机的差异在于用光子来代替电子 实现数据的运算和存储,它用不同波长的光来代表不同的数据。1990  年,美国贝尔实验室宣 布研制出了世界上第一台光学计算机,该计算机采用砷化镓光学开关,运算速度达每秒 10 亿

(8)

次。尽管这台光学计算机与理论上的光学计算机还有一定距离,但已显示出它强大的威力。 (3) 量子计算机。 把量子力学和计算机结合起来的思想是在 1982 年由美国著名物理学家 理查德·菲利普·费因曼(Richard Phillips Feytiman)提出的。1985 年,英国牛津大学物理学 家戴维·多伊奇(David Deutsch)初步阐述了量子计算机的概念,并提出量子并行处理技术能 使量子计算机比传统的图灵计算机功能更强大。 虽然分子、 光子和量子计算机的研究还处在实验室阶段, 但科学家认为这些计算机具有很 高的应用价值。在近几年,美国、欧洲和日本政府一直投入巨资资助相关的研究,预计在未来 一二十年内,这几种新型计算机会取得突破性进展。

1.2.2 计算机的分类

计算机的分类方法很多,按其内部逻辑结构进行分类,可分为单处理机与多处理机(并行 机),按 CPU 的数据处理能力可分为 16 位机、32 位机和 64 位机等,按其用途可将计算机分 为通用计算机与专用计算机两大类。 通用计算机是指适用于一般科学计算、 工程设计和数据处 理等方面的计算机, 我们平常所说的计算机就属于通用计算机。 专用计算机是指为某种特殊应 用而设计,其运行程序固定,执行效率较高,处理速度快,运算精确度高。如用于飞机的自动 控制与导航的计算机,坦克上的火控系统所使用的计算机就属于专用计算机。 从计算机的演变过程和发展趋势来看, 通用计算机按其规模、 速度和功能等分为超级计算 机、大/中型计算机、工作站与微型计算机等。它们之间主要的区别在于计算机体积、功耗、 运算速度、数据的存储器容量、指令系统的规模等性能不同。但随着技术的发展,原有分类已 渐渐淡化。在此介绍一些主流计算机。  1.超级计算机 超级计算机又称高性能计算机。 超级计算机的研究是世界公认的高新技术制高点和 21 世纪 最重要的科学研究领域之一。超级计算机通常是指体积大、运算速度快、存储容量高、价格昂 贵的计算机,主要应用于国防或航天等尖端技术和现代科学计算中。超级计算机的研制能力已 是衡量一个国家经济实力和科学技术水平的重要标志之一。2008 年,美国的走鹃(Roadrunner) 和美洲豹(Jaguar)超级计算机的峰值突破千万亿次(Petaflops)大关,标志着计算机已进入 千万亿次计算时代。中国目前运行速度最快的计算机——千万亿次超级计算机曙光“星云”已 于 2010 年底落户深圳。曙光“星云”由曙光公司天津产业基地研制生产,其系统峰值为每秒  3000  万亿次,是中国第一台、世界第三台实测双精度浮点计算超过千万亿次的超级计算机, 在 2010 年 5 月 31 日发布的第 35 届全球超级计算机 500 强排名中,名列第二。  2.大/中型计算机 大/中型计算机也具有较高的运算速度,而且有较大的存储容量,主要用于科学计算、数 据处理或作为网络服务器。 服务器是指在网络环境下运行相应的服务软件, 为网上用户提供信 息资源共享和各种应用服务的一种高性能计算机,英文名称是 Server。它的高性能主要体现在 高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面,是网络的中枢和信 息化的核心。服务器一般分为文件服务器、打印服务器、计算服务器和通信服务器等。  3.工作站 工作站是一种以个人计算和分布式网络计算为基础, 主要面向专业应用领域, 具备强大的 数据运算与图形、图像处理能力,为满足工程设计、动画制作、科学研究、软件开发、金融管 理、信息服务、模拟仿真等专业领域。

(9)

4.微型计算机 微型计算机的中央处理器(CPU)采用微处理器芯片,体积小巧,已广泛用于商业、服务 业与工厂的自动控制、办公自动化以及大众化的信息处理之中。我们平常也称微型计算机为  PC 机。目前,我国是 PC(Personal Computer)生产的主要国家之一。2005 年 5 月 1 日,联想 集团宣布完成了对 IBM 全球个人电脑业务的收购,标志着联想已成为全球第三大个人电脑生 产企业。

1.2.3 计算机的主要应用

计算机发展的动力源于计算机的应用。目前,计算机的应用主要包括以下几个方面。  1.科学计算 科学计算也称数值计算。早期的计算机主要用于科学计算。目前,科学计算仍然是计算机 应用的一个重要领域,如高能物理计算、工程设计、地震预测、气象预报、航空航天技术中的 计算问题都要依靠计算机。由于计算机具有高运算速度、高精度及逻辑判断能力,因此,也产 生了计算力学、计算物理、计算化学、生物控制论等新型学科。 目前,随着传统计算机技术和网络技术的发展与融合,云计算(Cloud  Computing)进入 了深入研究与广泛应用阶段。所谓云计算机,是将网格计算(Grid  Computing)、分布式计算 (Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing) 、网 络存储技术 (Network Storage Technologies)、 虚拟化 (Virtualization)、 负载均衡 (Load Balance)

等技术融合, 旨在通过网络把多个成本相对较低的计算实体整合成一个具有强大计算能力的系 统, 并借助一些先进的商业模式把这强大的计算能力分布到终端用户手中。 云计算的一个核心 理念就是通过不断提高“云”的处理能力,进而减少用户终端的处理负担,最终使用户终端简 化成一个单纯的输入输出设备,并能按需享受“云”的强大计算处理能力。 云计算为众多用户提供了一种新的高效率计算模式, 兼有互联网服务的便利、 廉价和大型 机的能力。它的目的是将资源集中于互联网上的数据中心,由这种云中心提供应用层、平台层 和基础设施层的集中服务,以解决传统 IT 系统的零散性带来的低效问题。云计算是信息化发 展进程中的一个阶段,强调信息资源的聚集、优化、动态分配和回收,旨在节约信息化成本、 降低能耗、减轻用户信息化的负担,提高数据中心的效率。云计算由第三方提供集中式互联网 服务,它是一种新型的应用模式。  2.数据处理 数据处理是对数据的采集、存储、检索、加工、变换和传输等一系列活动的总称。数据处 理的基本目的是从大量的、 可能是杂乱无章的、 难以理解的数据中抽取并推导出对于某些特定 的人们来说有价值、有意义的数据。数据处理是目前计算机应用最广泛的一个领域。据统计, 目前  80%以上的计算机用于数据处理。数据处理技术的发展从简单到复杂经历了以下三个发 展阶段。 (1)电子数据处理(Electronic Data Processing,EDP),是以文件系统为手段,实现一个 部门内的数据处理。

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

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

(10)

目前,数据处理已广泛地应用于办公自动化、企事业计算机辅助管理与决策、情报检索、 图书管理、电影电视动画设计、会计电算化等各行各业。信息业正在形成独立的产业,多媒体 技术使信息展现在人们面前的不仅是数字和文字,也有声情并茂的声音和图像信息。  3.过程检测与控制 目前,在工业生产过程中,利用计算机对温度、压力、流量、液位和成分等参数自动检测, 并把检测到的数据存入计算机, 再根据需要对检测到的数据进行处理, 然后再对工业生产过程 进行自动调整控制。这样的系统称为计算机检测与控制系统。现在,随着嵌入式技术的发展, 在仪器仪表中引入计算机技术后研究出的智能化仪器仪表, 已经将工业自动化推向了一个更高 的水平。  4.计算机辅助系统 在飞机、汽车、船舶、机械、建筑工程与集成电路等行业中,为了提高产品(工程)质量, 缩短生产周期, 降低成本, 设计与制造人员借助计算机自动或半自动地完成设计和产品制造的 技术称为计算机辅助设计 (Computer Aided Design, CAD) 和计算机辅助制造 (Computer Aided  Manufacturing,CAM)。现在,CAD/CAM 技术发展非常迅速,应用范围不断扩大又派生出很 多新的分支,如计算机辅助测试(Computer Aided Testing,CAT),计算机辅助教学(Computer  Aided Instruction,CAI)等。  5.智能模拟 人工智能(Artificial Intelligence)学科研究的主要内容包括知识表示、自动推理和搜索方 法、机器学习和知识获取、知识处理系统、自然语言理解、计算机视觉、智能机器人、自动程 序设计等。智能模拟是用计算机模拟人类的某些智能行为(如感知、思维、推理等)的应用。 人工智能的应用领域有问题求解、逻辑推理与定理证明、自然语言处理、智能信息检索技术与 专家系统。  6.计算机网络 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备, 通过通信线 路 (有线或无线) 连接起来, 在网络操作系统、 网络管理软件及网络通信协议的管理和协调下, 实现计算机之间的资源共享和通信的计算机系统,是计算机技术与通信技术发展的产物。在 日常生活与工作中,人们到处可以感受到网络给我们带来的好处。例如,利用计算机网络收 发邮件,使用计算机网络开展网上办公,使用计算机网络实现远程教育,使用计算机网络开展 电子商务等都是计算机网络的应用。又如网络电影、网络电视、网络游戏等为我们带来了无限 的快乐。 随着人类需求的发展与变化,人们已开始研究物联网与泛在网。所谓物联网,是指在互联 网概念的基础上, 将其用户端延伸和扩展到任何物品与物品之间, 进行信息交换和通信的一种 网络。物联网的目的是实现物物相联,从而融合物理信息的感知、传输、处理、控制,提供高 智能的应用服务。 物联网与传统互联网的主要区别是其包含了物物互联与物机相联, 而不是局 限于机机相联。 它的主要影响范围是连接物理世界和计算世界的传感网与执行部件网、 传输与 处理物理信息的计算机和网络以及之上的物联网应用。 泛在网即广泛存在的网络,它以无所不在、无所不包、无所不能为基本特征,以实现在任 何时间、 任何地点、 任何人、 任何物都能顺畅地通信为目标。 泛在网是指基于个人和社会需求, 实现人与人、人与物、物与物之间按需进行的信息获取、传递、存储、认知、决策与使用等服 务, 具有超强的环境感知、 内容感知及智能性, 为个人和社会提供无所不在的信息服务和应用。

(11)

当前的泛在网研究强调自然而无所不在的人机交互和物机交互, 被学术界总为 5A (Any Time,  Any Place,By Any Person,Using Any Device,Connecting Any Objects) 。目前,随着经济发展 和社会信息化水平的日益提高, 构建泛在网络社会、 带动信息产业的整体发展已经成为一些发 达国家和城市追求的目标。 当前,计算机的应用领域已渗透到社会的各行各业,正在改变着传统的工作、学习和生活 方式,推动着社会的发展与进步。 

1.3 数据的表示

正如前面所说, 计算机是实现数据处理的机器。 那计算机能处理哪些数据?这些数据在计 算机中如何表示?本节就来讨论这些问题。 在计算机中, 一般用若干个二进制位表示一个数或一条指令, 把它们作为一个整体来处理、 存储和传送。这种作为一个整体来处理的二进制位串,称为计算机字。表示数据的字称为数据 字,表示指令的字称为指令字。计算机是以字为单位进行处理、存储和传送数据的,所以运算 器中的累加器及其他一些寄存器,都选择与字长相同位数。字长一定,计算机数据字所能表示 的数的范围也就确定了。

1.3.1 数据类型

在计算机中,数据以不同形式出现。目前,计算机能处理的数据包括数值(Number)、文 本(Text)、图像(Image)、音频(Audio)和视频(Video)。用计算机求圆周率就是让计算机 处理数值数据,用文字处理软件进行文字录入、文字移动、文字删除、文字打印等工作就是用 计算机来处理文本数据,用 Photoshop、CorelDRAW 等软件对图像进行放大、缩小、旋转等编 辑就是用计算机来处理图像数据, 使用计算机播放音乐就是用计算机处理音频数据, 使用计算 机编辑视频和播放电影就是用计算机来处理视频数据。在 IT 行业中,用常用术语“多媒体” 来定义包含数值、文本、图像、音频和视频的信息。

1.3.2 计算机内部的数据

计算机是能对数字、文本、图像、声音与视频信息进行处理的机器。在计算机内部,这些 数据如何表示?1940 年,美国著名的数学家与控制论学者维纳(Norbert Wiener,1894~1964) 首先倡导使用二进制编码表示数据。1949 年,英国剑桥大学的 M. V. Wikes 教授和他的学生采 用存储程序式原理研制了电子自动延迟存储计算机(Electronic  Delayed  Storage  Automatic 

Computer,EDSAC),在该计算机中采用二进制编码解决了数据在计算机中的表示问题,且验 证了这种计算机工作可靠、稳定、高速。 在计算机内部广泛采用二进制的主要原因是构成计算机的电子元件有两种稳定状态, 如晶 体管工作时有导通与截止两种状态,磁芯磁化有两个方向,电容器有充电和放电两种状态,开 关有开启与关闭两种状态,脉冲有电位的高与低。如果用 0 与 1 来描述这两种状态,在技术上 实现较为容易,同时用二进制运算较简单,运算电路的设计也容易实现。 计算机实现数据处理的过程是: 首先把所有计算机外部数据转换成二进制数据, 这种转换 被称为编码(Coding)。经过编码后的数据存入计算机中,由计算机的中央处理器完成处理, 当数据从计算机输出时再还原回来,还原过程被称为解码(Decoding)。计算机处理各种数据

(12)

的过程如图 1­1 所示。 图 1­1  计算机处理各种数据的过程

1.3.3 数据的表示

在计算机内部,数值、文本、图像、声音与视频数据都是用二进制表示。这些数据如何表 示成二进制数据呢?现在我们来回答这一问题。  1.文本 在任何语言中,文本的片断是用来表示该语言中某个意思的一系列符号。例如,在英文中 使用 26 个符号(A、B、C、…、Z)表示大写字母,使用 26 个符号(a、b、c、…、z)表示 小写字母,使用 10 个符号(0、1、2、…、9)表示数字符号(不是数字,后面将看到它们的 不同之处),以及使用符号(,、!、…、?、 ” )表示标点,另外还有空格、换行符、制表符等。 问题是在一种语言中,一个符号到底用多少位二进制来表示?这个问题取决于该语言集中 到底有多少个不同的符号。例如,某种语言有 16 个符号,用二进制来表示这些符号必须能够区 分这 16 个符号,对另外一些语言,如英文、中文,有更多的符号,需要的二进位就更多一些。 语言的符号数与二进制数位数的关系不是线性关系, 而是对数关系。 如果某种语言的符号 仅有 2 个,就用 1(log22=1)位二进制数就能区分,用 0 表示其中一个符号,用 1 表示另一个 符号。如果某种语言需要 16 个符号,就要用 4(log216=4)位二进制数来表示。从表 1­1 中可 以很容易地看出语言符号数与二进制位数之间的关系。 2 位二进制能表示 4 种不同的形式: 00、  01、 10 和 11。 4 种形式中的任一种都可代表一个符号。 同样的, 3 位二进制有 8 种不同的形式:  000、001、010、011、100、101、110 和 111,可以表示 8 种不同的符号。 表 1­1  语言符号数与二进制位数的关系 符号数量 二进制位数  2  1  4  2  8  3  16  4  …  …  128  7  256  8  …  …  65536  16  Text  Memory  Number 

Coding  1001…111  1111…111  Decoding  Text  Coding  1111…101  1101…101  Decoding  Number  Image  Coding  1111…111  1011…000  Decoding  Image  Audio  Coding  1000…000  0101…001  Decoding  Audio  Video  Coding  1011…001  1111…111  Decoding  Video

(13)

(1)ASCII。美国标准信息交换码(American Standard Code for Information Interchange,  ASCII)是美国国家标准局(American  National Standards Institute,ANSI)开发的用于表示英 文 字 符 集的 代码 集 ,这 种 代码 同 时也 被 国际 标准化 组 织 ( International  Organization  for  Standardization, ISO) 批准作为国际标准。 ASCII 码使用 7 位二进制数表示 128 个不同的符号, 如表 1­2 所示。编码的二进制数排列顺序为 b7b6b5b4b3b2b1。 表 1­2    ASCII 字符与编码对照表  b7b6b5  b4b3b2b1  000  001  010  011  100  101  110  111  0000  NUL  DLE  SP  0  @  P  p  0001  SOH  DC1  !  1  A  Q  a  q  0010  STX  DC2  ”  2  B  R  b  r  0011  EXT  DC3  #  3  C  S  c  s  0100  EOT  DC4  $  4  D  T  d  t  0101  ENQ  NAK  %  5  E  U  e  u  0110  ACK  SYN  &  6  F  V  f  v  0111  BEL  ETB  ‘  7  G  W  g  w  1000  BS  CAN  (  8  H  X  h  x  1001  HT  EM  )  9  I  Y  i  y  1010  LF  SUB  *  :  J  Z  j  z  1011  VT  ESC  +  ;  K  [  k  {  1100  FF  FS  ,  <  L  \  l  |  1101  CR  GS  ­  =  M  ]  m  }  1110  SO  RS  .  >  N  ↑  n  ~  1111  SI  US  /  ?  O  ↓  o  DEL  基本的 ASCII 字符集共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字 符、标点符号等,另外还有  32  个控制字符。如英文单词“BYTE”在计算机中表示方法如图  1­2 所示。  B  Y  T  E  1000010  1011001  1010100  1000101  图 1­2  用 ASCII 码表示英文单词“BYTE”

(2)扩展 ASCII 码。为了使 7 位 ASCII 码统一成为一个字节(Byte,8 位二进制),通过 在 ASCII 码左边增加额外的 0 来进行扩充,得到的代码就是扩展 ASCII 码。扩展 ASCII 码是  8 位码,范围从 00000000~01111111。

(3)GB2312­80 编码。1980 年,为了使每一个汉字有一个统一的计算机代码,我国颁布

了第一个汉字编码的国家标准 GB2312­80:《信息交换用汉字编码字符集基本集》,这个字符集

(14)

GB2312­80  国家标准采用了扩充编码的办法,使用两个字节(16  位二进制数)表示一个 汉字的编码, 由于 8 位扩展 ASCII 码最高位为 0, 为了确保汉字的每个字节的编码与扩展 ASCII  码有所区别,GB2312­80 汉字编码标准中汉字的每个字节的最高位置为 1。遵循这样的编码规 则的编码通常称为汉字的国标码或机内码,是汉字信息在计算机内部进行存储、交换、检索等 操作的代码。《信息交换用汉字编码字符集基本集》GB2312­80 收入汉字信息交换用的基本图形 字符,采用一字一码的原则,具体包括:一般符号、序号、数字、拉丁字母、日文假名、希腊 字母、俄文字母、汉语拼音符号、汉语注音字母及简化汉字 6763 个,总计 7445 个图形字符。 (4)Unicode  码。随着计算机的发展与广泛使用,人们要求计算机处理的语言符号越来 越多, 为了确保世界上不同语言符号编码的统一性与唯一性, 一些国际知名硬件和软件商联合 起来共同设计了一种名为 Unicode(Universal  Code)的编码。这种编码使用 16 位二进制表示 一个符号,最多能表示 65536(2 16 )个符号,代码的不同部分被分配用于表示世界上的不同语 言符号。Java 语言使用这种代码来表示字符。Unicode 编码就像它的名字一样,是一种世界通 用的符号编码。 (5)ISO 码。ISO 码是由国际标准化组织设计的一种使用 32 位二进制表示一个语言符号 的编码,如 ISO10646。这种代码最多能表示 4294967296(2 32 )个符号,足以表示当今世界上 的所有的语言符号。  2.数值 在计算机中, 数值是使用二进制数来表示的。 如何用二进制数表示数值数据将在下一节阐述。  3.图像 目前,图像在计算机中有位图与矢量图两种表示方法。 (1)位图图形。在位图图形中,图像被分为像素(Pixel)矩阵,每一个像素对应图像上 的一个点。像素的大小取决于分辨率(分辨率是一个表示平面图像精细程度的概念,通常它是 以横向和纵向点的数量来衡量的,表示成“水平点数×垂直点数”的形式。在一个固定的平面 内,分辨率越高,意味着可使用的点数越多,图像越细致),分辨率高,像素小;分辨率小, 像素就大。位图是像素的集合,把图像分成像素之后,每一个像素点就用一定的二进制位来描 述。如,对于仅由黑白点组成的图像,1 位二进制就足够描述一个像素,用 0 表示黑像素点, 用 1 表示白像素点。图像中的每个像素点被一个一个记录下来存储在计算机中。图 1­3 显示了 这种黑白图像以及它的表示方法。 图像 矩阵表示  00011000        00111100        00111100        00011000  线性表示 图 1­3  黑白图像的位图图形表示方法 如果一幅图像不单由纯黑、纯白像素组成,而包括黑白过渡的灰度,就可以通过增加每个 像素点的二进制位来表示灰色度。 例如, 可以分别使用 2 位二进制 00 (表示黑色像素)、 01 (表  00011000  00111100  00111100  00011000

(15)

示深灰度像素)、10(表示浅灰度像素)、11(表示白色像素)来显示四重灰度级。

如果图像是彩色图像,位图用红、绿、蓝三原色的光学强度来表示像素的颜色。具体的处 理方法是:每一种彩色像素被分解成红、绿、蓝三种主色(通常我们把这种图像称为 RGB 图

像),然后测出每个像素点三种颜色的强度,每种颜色的强度被分配固定的二进制位(通常为 

8 位)。也就是说,每一个像素用 24 位二进制描述它的颜色成分的强度,前 8 位二进制表示红

色(Red)的强度,中间 8 位二进制表示绿色(Green)的强度,后 8 位表示蓝色(Blue)的强 度。图 1­4 显示了四种颜色的像素点的二进制的表示方法。  R  G  B  红(100%的强度)  11111111  00000000  00000000  绿(100%的强度)  00000000  11111111  00000000  蓝(100%的强度)  00000000  00000000  11111111  白(100%的强度)  11111111  11111111  11111111  图 1­4  彩色图像中的红色、绿色、蓝色、白色像素点的表示 完成了上述学习内容后, 大家思考这样一个问题。 假如有一个分辨率为 320*240 的位图图 像,如果是 256 级灰度图或 RGB 彩色图像,存储这样的图像分别需要多大存储空间? 如果是 256 级灰度,保存一个像素点则需要 8 位二进制,也就是一个字节的空间;如果是  RGB 彩色图像,保存一个像素点则需要 24 位二进制,即 3 个字节的空间。因此,保存分辨率 为 320*240 的 256 级位图灰度图像,存储空间为 320*240*1=76800B,保存分辨率为 320*240  的 RGB 彩色位图图像,存储空间为 320*240*3=230400B。 (2)矢量图。位图图形表示法存在的问题之一是一幅图像采用精确的二进制数表示后存 储在计算机中,由于需要存储每个像素点的值,存储这样的图像需要较大的存储空间;问题二 是如果想重新调整图像的大小,就必须改变像素的大小,这将产生波纹状或颗粒状图像。矢量 图较好地解决了这些问题,矢量图使用直线和曲线来描述图形,图形的元素是一些点、线、矩 形、多边形、圆和弧线等,它们都是通过存储在计算机中的数学公式计算获得的。由于矢量图 形是通过公式计算获得,所以矢量图形文件体积一般较小,同时,由于矢量图形放大、缩小或 旋转后的图形也是通过计算公式重新生成,因此,矢量图放大、缩小或旋转后图不会失真。矢 量图最大的缺点是难以表现色彩层次丰富的图像效果。  4.音频 音频是多媒体技术的重要特征之一, 是携带信息的重要媒体。 声波是随时间而连续变化的 物理量,通过能量转换装置,可用随声波变化而改变的电压或电流信号来模拟。假设以模拟电 压的幅度来表示声音的强弱。为使计算机能处理音频,必须对声音信号数字化。音频信号的数 字化过程包括采样(Sampling)、量化(Quantization)、编码(Coding)等过程。具体转化过程 如图 1­5 所示。 (1)首先是采样。所谓采样就是以相等的时间间隔测量模似信号的值(电压或电流)。 (2)其次是量化。所谓量化就是给采样值分配一个值(从值集中赋予)。例如,如果采样 值为 29.2,而值集为 0~63 的整数值,因此量化该值就是给该采样值赋值 29。 (3)接着是编码,所谓编码是将量化值转化为计算机可存储的二进制数。 (4)最后是存储,存储就是将编码后的二进制数存储到计算机中。

(16)

图 1­5  模拟音频信号转化成数字音频的过程 在数字音频回放时,由数字到模拟的转化器(数/模转换器)解码可将二进制编码恢复成 原始的声音信号,再通过音响设备输出。  5.视频 视频是图像(帧)在时间上的表示,如图 1­6 所示。电影就是一系列的帧,播放软件通过 一张一张地播放而形成运动图像。 所以如果知道如何将图像数据存储在计算机中, 也就知道了 在计算机中如何存储视频数据; 每一幅图像或帧被转化成二进制数并存储, 这些图像组合起来 可表示视频。由于视频数据较大,因此,视频数据通常被压缩存储。 图 1­6  视频图像的构成 

1.4 数的表示

在计算机中,数同样也是用二进制数来表示的。本节首先将介绍与计算机相关的进制,进 制之间的相互转换,然后阐述计算机中数的表示方法。

1.4.1 十进制、二进制、八进制与十六进制

进位计数制是一种数的表示方法,它按进位的方式来计数,简称为进制。在计算机中使用 的数制有十进制(Decimal)、二进制(Binary)、八进制(Octal)与十六进制(Hexadecimal)。 每种进制数据有共同的特征。  1.十进制数的特征 l 十进制所采用的计数符号有十个,即 0、1、2、3、4、5、6、7、8、9。  Sampling  Quantization  Coding  464  25 15  00000100…00001111

(17)

l 十进制的基数为 10,计数的规则:逢 10 进 1,借 1 当 10。 l 数码处在数的位置不同,则数值的大小不同。例如数:  1  2  3  4  .  5  7  千位 百位 十位 个位 十分位 百分位 每个数码分别代表的数值为: 千位:1×10 3  百位:2×10 十位:3×10 1  个位:4×10 0  十分位:5×10 -1  百分位:7×10 -2  我们常常把 1234.57 展开成 1×10 3  +2×10 2 +3×10 1 +4×10 0 +5×10 -1 +7×10 -2 的求和式。 一般地,任意一个十进制数  anan­1an­2…a0  ∙  b1b2…b 整数部分 小数部分 都可以看作是下面多项式的组合求和式:  anan­1an­2…a0∙b1…b=an×10 n +an­1×10 n­1 +an­2×10 n­2 +…+a0×10  0  +  b1×10 ­1 +b2×10 ­2 +…bm×10 ­m  其中:ai(i=0,1,2,…,n)和 bj(j=1,2,…,m)均为数码 0,1,…,9 中的任一个;  n、m 为整数,表示数码的位置;  10 为基数,即允许选用的基本数码的个数;  10 n 是基数的权,它确定了该数码所在位,如 10 2  是对应百位,10 0  是对应个位等。  2.二进制数 l 二进制有两个计数符号(数码):0、1,基数 N=2。 l 二进制的进位规则:逢 2 进 1,借 1 当 2。 l 任一个二进制数可写成多项式表示形式。 如:(1101)2=1×2  3  +1×2 2 +0×2 1 +1×2 0 。 其中:2 3 、2 、2 、2 表示各位的权,即标明对应二进制数码所在的位。  3.八进制数 l 八进制有八个数码:0、1、2、3、4、5、6、7,基数 N=8。 l 八进制的进位规则:逢 8 进 1,借 1 当 8。 l 任一个八进制数都可写成多项式的表示形式。 如:(563)8=5×8  2  +6×8 1 +3×8 0 。 其中:8 2 、8 、8 为八进制中各位的权。  4.十六进制数 l 十六进制有十六个数码:0~9、A、B、C、D、E、F,基数 N=16。 l 十六进制的进位规则:逢 16 进 1,借 1 当 16。 l 任一个十六进制数都可写成多项式表示形式。 如:(FA5)16=F×16  2  +A×16 1 +5×16 0 。 注意:十六进制数 A、B、C、D、E,F 分别对应于十进制的 10、11、12、13、14、15。 为了区分进制数据,在书写时有习惯的表示方法。如二进制 101101.101 写成(101101.101)2  或 101101.101B;八进制 37.6 写成(37.6)8 或 37.6O;十进制 205.8 写成(205.8)10 或 205.8D,也 可以直接写成  205.8;十六进制  3FC.6D  写成(3FC.6D)16 或  3FC.6DH,如果十六进制数第一个 数字是字母,书写时在前面加一个数字“0” ,如 FFFEH 写成 0FFFEH。

(18)

1.4.2 数制之间的相互转换 

1.非十进制数转换成十进制数(这里的“非十进制”指的是二进制、八进制与十六进制 的一种) 非十进制转换成十进制的方法是根据进制数的第三个特点,即按权展开求和。 例 1.1  将(1011.101)2 转换成十进制数。  (1011.101)2 =1×2 3 +0×2 2 +1×2 1 +1×2 0 +1×2 ­1 +0×2 ­2 +1×2 ­3 =8+2+1+0.5+0.125=(11.625)10。 例 1.2  将(A3.2C)16 转换成十进制数。  (A3.2C)16 =A×16  1  +3×16 0 +2×16 ­1 +C×16 ­2  =10×16 1 +3×16 0 +2×16 ­1 +12×16 ­2  =160+3+1/8+3/64=(163.172)10。 例 1.3  将(1657)8 转换成十进制数。  (1657)8=1×8 3 +6×8 2 +5×8 1 +7×8 0 =(943)10  2.十进制数转换成非十进制数 十进制数转换成非十进制数分为两种情况, 一种是十进制整数转化为非十进制; 另一种是 十进制小数(纯小数)转化为非十进制。 十进制整数化为非十进制的方法是除基取余法; 十进制小数转换为非十进制则采用乘基取 整法。具体转化过程如下所示。 例 1.4  将(25)10 转换成二进制数。  (25)10=(11001)2  例 1.5  将(125)10 转换成八进制数。  (125)10=(175)8  例 1.6  将(0.125)10 转换成二进制数。  (0.125)10=(0.001)2  2    25  2    12  2    6  2    3  2    1  ……  1  ……  0  ……  0  ……  1  ……  1  0  8    125  8    15  8    1  ……  5  ……  7  ……  1  0  0.125  2  0.250  2  0.500  2  1.000  ……0  ……0  ……1

(19)

例 1.7  将(0.625)10 转换成十六进制数。  (0.625)10=(0.A)16  注意:有些十进制小数在转换为非十进制数的时候,使用乘基取整法无法得到精确值。 例 1.8  将十进制小数 0.6 转换成二进制数。 因此,十进制数 0.6 转化为二进制数近似等于 0.1001B。 另外,如果一个十进制数既有整数部分又有小数部分,化为非十进制,采用的转化方法就 是整数采用整数转化方法,小数采用小数转化方法,然后把两部分合并。 例 1.9  把十进制数 25.125 化为二进制。转化时先把整数 25 按例 1.3 的方法转化为二进 制  11001,小数  0.125  按例  1.5  的方法转化为  0.001,然后,把整数部分与小数部分合并得到  (11001.001)2。  3.非十进制数之间的相互转换 (1)二进制数转换成八进制数。 规则:以小数点为中心,分别向左、向右每三位为一组,首尾组不足三位时,首尾用  0  补足,再将每组二进制数转换成一位八进制数,此方法也被称为三位分组法。 例 1.10  将(1010011.01011)2 转换成八进制数。  001  010  011  .  010  110  1  2  3  .  2  6  即(1010011.01011)2 =(123.26)8。 (2)八进制数转换成二进制数。 规则:将每位八进制数用三位二进制数表示即可。 例 1.11  将(617.34)8 转换成二进制数。  6  1  7  .  3  4  110  001  111  .  011  100  即(617.34)8=(110001111.011100)2  (3)二进制数转换成十六进制数。 规则:以小数点为中心,分别向左、向右每四位为一组,首尾组不足四位时,首尾用  0  0.625 16  3750  625  10.000  ……  10  0.6  2  1.2  2  0.4  2  0.8  2  1.6  2  ……  1  ……  0  ……  0  ……  1  …… …… ……

(20)

补足,再将每组二进制数转换成一位十六进制数,此方法也被称为四位分组法。 例 1.12  将(1101111100111.1001111101)2 转换成十六进制数。  0001  1011  1110  0111  .  1001  1111  0100  1  B  E  7  .  9  F  4  即(1101111100111.1001111101)2 =(1BE7.9F4)16。 (4)十六进制数转换成二进制数。 规则:将每位十六进制数用四位二进制数表示即可。 例 1.13  将十六进制 B6E.9 转换成二进制数。  B  6  E  .  9  1011  0110  1110  .  1001  即(B6E.9)16 =(1011 0110 1110.1001)2。 注意:在十进制与八进制、十进制与十六进制之间进行转换时,一般利用二进制做桥梁来 完成转换。例如,把十进制数 126 化为八进制,我们总喜欢先把十进制 126 化为二进制,然后 再把该二进制化为八进制。如果要把八进制化为十进制,我们也是先把八进制化为二进制,然 后再把二进制化为十进制。 其实, 二进制与十进制的互换可采用更快捷的方法, 该方法是在充分理解二进制与十进制 的第三特征的基础上得出来的。这里以二进制(0101101)2 为例来谈二进制转化为十进制。 二进制数  0  1  0  1  1  0  1  位的权  2 6  2 5  2 4  2 3  2 2  2 1  2 0  位权构成等比数列  64  32  16  8  4  2  1  各位表示的值  0  32  0  8  4  0  1  各位值求和  45  所以二进制 0101101 转化为十进制为 45。 例 1.14  把十进制 129 化为二进制。 先把 129 写成 128+1,128 为 2 7 ,1 为 2 ,这样就直接得出 129 的二进制为 10000001。 例 1.15  把二进制 127 化为二进制。 先把 127 写成 64+32+16+8+4+2+1,这样就可直接得出它的二进制为 1111111。 例 1.16  把二进制 1010101 化为十进制。 从二进制上可直接看出它的十进制为 64+16+4+1=85。

1.4.3 二进制数之间的运算

在计算机中,二进制数之间可进行算术运算和逻辑运算,规则简单。这里介绍二进制之间 的算术运算与逻辑运算。  1.二进制的算术运算 (1)加法运算规则。  0 + 0 = 0  0 + 1 = 1  1 + 0 = 1  1 + 1 = 0(产生进位) (2)减法运算规则。  0 ­ 0 = 0  0 ­ 1 = 1  (产生借位)  1 ­ 0 = 1  1 ­ 1 = 0  (3)乘法运算规则。  0 × 0 = 0  0 × 1 = 0  1 × 0 = 0  1 × 1 = 1

(21)

例 1.17  完成二进制数 1101 与 1001 之间的加法、减法与乘法运算。  2.二进制的逻辑运算 逻辑运算是指对因果关系进行分析的一种运算。 逻辑运算的结果并不表示数值大小, 而是 表示一种逻辑概念,若成立,用真或 1 表示;若不成立,用假或 0 表示。二进制数的逻辑运 算有“与” 、 “或” 、 “非”和“异或”四种。 (1) “与”运算(AND)。 “与”运算又称逻辑乘,用符号“∧”来表示。运算规则如下:  0∧0 = 0    0∧1 = 0    1∧0 = 0    1∧1 = 1。 即当两个参与运算的数的对应码位中有一个数为 0,则运算结果为 0,只有两码位对应的 数都为 1,结果才为 1。这与前面介绍的二进制数乘法运算是一样的。 例 1.18  分别求 10111001∧11110011 与 100010101∧101111100 的结果。  10111001  100010101  ∧  11110011  ∧  101111100  10110001  100010100  (2) “或”运算(OR)。 “或”运算又称逻辑加,用符号“∨”来表示。运算规则如下:  0∨0 = 0    0∨1 = 1    1∨0 = 1    1∨1 = 1。 即当两个参与运算的数相应码位中有一个数为 1,则运算结果为 1,只有两码位对应的数 均为 0,结果才为 0。 例 1.19  分别求 10111001∨11110011 与 100010101∨101111100 的结果。  10111001  100010101  ∨  11110011  ∨  101111100  11111011  101111101  (3) “非”运算(NOT)。 “非” 运算实现逻辑否定, 即进行求反运算。 逻辑非通常表示为在逻辑变量上方加一横线。 “非”运算规则:0 —  =  1,1 —  =  0。注意“非”运算只是针对一个数所进行的“运算” ,这与前 面的“与”和“或”运算不一样。它的实质意义就是取反。如  10111101,进行“非”运算后 就得到 01000010,对比相应位即可验证以上运算规则了。 (4) “异或”运算(XOR)。 “异或”运算用符号“ Å ”来表示。其运算规则如下:  0 Å 0 = 0      0 Å 1 = 1    1 Å 0 = 1    1 Å 1 = 0  1 1 0 1  +1 0 0 1  结果:1 0 1 1 0  1 1 0 1  ­1 0 0 1  结果:0 1 0 0  1 1 0 1  ×1 0 0 1  1 1 0 1  0 0 0 0  0 0 0 0  1 1 0 1  结果:  1 1 0 1 0 1

(22)

即当两个参与运算的数取值相异时,运算结果为 1,否则为 0。 例 1.20  分别求 10111001○ +11110011 与 100010101○ +101111100 的结果。  10111001  100010101 Å  11110011 Å  101111100  01001010  001101001 

1.4.4 数的表示方法

计算机中数的表示方法有定点格式与浮点格式两种。 一般来说, 定点格式允许的数值范围 有限,但处理定点数的硬件比较简单,而浮点格式表示的数的范围较大,但要求的硬件比较复 杂。为了清楚阐述计算机中数的表示方法,首先认识计算机中有关数的三个概念,然后,阐述 计算机中定点数与浮点数的表示方法。  1.计算机中数的有关概念 在计算机中描述一个数值型数据,需考虑数的长度、数的符号以及小数点三个问题。 (1)数的长度。在数学中,数的长度是指它用十进制表示时所占用的实际位数,如十进 制数 3456 的长度是 4。但在计算机中,数的长度按“比特” (bit,二进制位英文词 binary digit  的缩写,二进制的一位就是  1bit)来计算。同时,由于计算机的存储容量以“字节” (Byte, 等于 8bit)为计量单位,所以数据长度也以字节为单位计算。在计算机中存储的数据的位都是  8 的整数倍,最小长度为 8bit。 值得注意的是:数学中的数的长度有长有短,如 753 的长度为 3,4569 的长度为 4,有几 位就写几位。但在计算机中,同类型的数据(如同属整型的两个数据)的长度是统一的,不足 的部分用 0 填充,这样的做法是为了简化数据的处理。换句话说,计算机中同一类型的数据具 有相同的数据长度。 (2)数的符号。由于数有正负之分,我们平常是用“+”表示正,用“­”表示负。在计 算机中也需采用一种方法来描述数的符号, 一般用数的最高位 (左边第一位) 来表示数的符号, 且约定以 0 表示正,以 1 表示负。 (3)小数点。在现实记数中,我们使用“.”来表示小数点。在计算机中如何表示小数点 的问题就同数的符号一样,也值得我们思考。在计算机中表示数值型数据,其小数点的位置是 隐含的,即约定小数点的位置。  2.定点数的表示方法 在定点数的表示方法中,小数点的位置一旦约定,就不再改变。常用的定点数表示方法有 定点整数(也称纯整数)和定点小数(也称纯小数)两种。 (1)定点整数。 定点整数的小数点的位置约定在最低数值位的后面。数据存放的格式是:  S  a an­1  an­2  …  a2  a1  a0  符号 量值部分 如果符号位为 0,表示该数是一个正整数,如果符号位为 1,表示该数是一个负整数。 假设这种表示方法中的量值部分存放的是数的绝对值, 则用这种表示方法表示的整数的范 围为:0≤|x|≤2 n+1 -1。以  8  位存储单元为例,最高位为符号位,存放整数的范围为­1111111  到+1111111。用 16 位存储单元存放符号加绝对值定点整数­193 的格式如下:

(23)

1  0  0  0  0  0  0  0  1  1  0  0  0  0  0  1  . 注意:193D=(11000001)2,由于 11000001 不足 15 位,故前面补足 7 个 0,最高位用1表 示负数(数的符号)。 假设机器字长为 16 位,符号占一位,数值部分占 15 位,故与下面机器数等效的十进制数 为+32767。  0  111111111111111  ∙  符号位 小数点 数值部分 (2)定点小数。定点小数的小数点位置约定在符号位和数值部分的最高位之间,用以表 示小于1的纯小数。数据存放的格式是:  S  b1  b2  b3  …  bm­2  bm­1  b 符号 量值部分 以 8 位存储单位为例,最高位为符号位,存放小数的范围为­0.1111111 到+0.1111111。 假如定点数的长度仍为 2 个字节,则十进制小数 0.6876 在计算机内用定点小数表示的形 式如下:  0  1  0  1  1  0  0  0  0  0  0  0  0  0  1  1  实际上,0.6876=(0.101100000000011)2,由于最高位表示数的符号,故 2 个字节可以精确 到小数点后第 15 位。 假定机器字长为 16 位,符号位占 1 位,数值部分占 15 位,故与下面机器数等效的十进制 数为­2 ­15 。  1  000000000000001  ∙  符号位 小数点 数值部分 目前,计算机中多采用定点纯整数表示,因此,将定点数表示的运算简称为整数运算。  3.浮点数的表示方法 我们在学物理学时就已经知道,电子的质量为 9×10 ­28 克,太阳的质量为 2×10 33 克,电子 的质量很小, 太阳的质量很大。 由于在计算机中用定点数来直接存储这些很小的数与很大的数 非常困难,因此,必须寻找另一种数的表示方法,这种方法就是浮点表示法。 所谓浮点表示法, 就是把一个数的有效数字和数的范围在计算机的存储单元中分别予以表 示, 把数的范围和精度分别表示, 而数的小数点位置会随比例因子的不同而在一定范围内自由 浮动的表示法。 符号位 数值部分 小数点 符号位 小数点位置 数值部分 .

(24)

我们知道:任意一个十进制数N可以写成N=10 e 

.m,同样,在计算机中任意一个二进制数 N也可以写成N=2 e 

.m。其中 m 为尾数(mantissa),是一个纯小数,e 为指数(exponent),在 计算机中也称作阶码。在这种记数法中,m 与 e 是有符号的,m 的符号被称为数符,e 的符号 被称为阶符。

为了在计算机中存储这样的一个数,只需存储这个数的阶符、阶码、数符与尾数就可以实 现这个浮点数的存储。存储的格式为: 

es  e1e2e3…e ms  m1m2m3…m

其中:es 为阶符,0 表示正,1 表示负,e1e2e3…em 为阶码,用定点整数表示,ms 为数符, 

0  表示正,1  表示负,m1m2m3…mn 为尾数,用定点小数表示。这种表示方法存在一个问题, 一个数要识别两次符号,给数据的处理带来了很大的不便。 为了规范浮点数的存储,同时也便于软件移植,电气与电子工程师协会(Institute  of  Electrical and Electronics Engineers,IEEE)制定了标准 IEEE 754,在该标准中定义了 32 位与  64  浮点数的存储格式,一种是单精度浮点数,用  32  位存储;另一种是双精度浮点数,用  64  位存储。且规定基数为 2,阶码 e 用移码表示,尾数 m 用原码表示,根据原码的规格化要求最 高位总是 1,且将 1 默认存储。所谓移码,是为避开阶码的符号,对每个阶码都加上一个正的 常数,称为偏移常数(也称为 Excess 数) ,使能表示的所有阶码都为正整数,变成“偏移”了 的阶码,又称“增码” 。  32 位浮点数和 64 位浮点数的标准格式分别为: 单精度:  s(1bit)  e(8bit)  m(23bit) 

双精度:  s(1bit)  e(11bit)  m(52bit) 

在两种浮点数中,s 为浮点数的符号位,0 表示正数,1 表示负数。m 为尾数,用小数表 示,e 为阶码,用整数表示,小数点放在尾数域的最前面。 一个规格化的浮点数的真值必须表示为:x=s2 e  ×(1.m)  例  1.21  +1000111.0101  不 是 一 个 规 范 的 浮 点 数 。 为 了 规 范 化 , 需 要 把 它 表 示 成  +1.0001110101×2 +6 ,这样的一个数就是一个规范化数。 这个数在计算机中如何存储呢?如果存储为单精度浮点数,符号位  s  为  0,尾数为  00011101010000000000000,为尾数后补 0,确保尾数为 23 位,e 为 6,但在阶码部分不是存 储 00000110,而是存储 6+127,即 133,它的二进制为 10000101。 这里 127 是一个 Excess 数。这样,+1000111.0101 以单精度浮点数存储格式为:  0  10000101  00011101010000000000000  符号 阶码(Excess_127) 尾数 注意:m 前的 1 省略。 如果存储为双精度浮点数,符号位 s 为 0,尾数为 0001110101000000…0000000,为尾数 后补 0,确保尾数为 52 位,e 为 6,但在阶码部分不是存储 0000000110,而是存储 6+1023, 即 1029,它的二进制为 10000000101。 这里 1023 是一个 Excess 数。这样,+1000111.0101 以双精度浮点数存储格式为:

參考文獻

相關文件

某项货物的单位价格是指该项货物的贸易货值与其货量之比。季度单位价格指数是计算当季

一、 重积分计算的基本方法 二、重积分计算的基本技巧 三、重积分的应用.. 重积分的

一、 曲线积分的计算法

学校现有教学仪器设备超过1亿元,学校图书馆纸质藏书125万册,电子图书

1、电动力学 郭硕宏编 高等教育出版社 2、电动力学 尹真 编 南京大学出版社 3、Classical Electrodynamics J. Jackson

然而 ISDS 机制在实践中一些问题不断暴露出来,多数学者认为 ISDS

接下來的 FDTD 疊代運算將是整個計算的核心,也是運算量最大 的部分,在這中間,如何利用光波導的性質以及傳播常數等特徵參量

• 全球已累积有 1600 万人次有效计算机案例, 5000 余家企 业、研究机构与政府组织持续追踪其有效性。. • 96% 的准确度、 34 个国家使用、