计算机科学的基础知识
第二章 计算机科学的基础知识 本章学习目标: 数据的理解、分类与表示 计算机的基本结构与工作原理 程序设计基础 算法基础 2.1 数据类型 2.2 计算机内部的数据 2.3 表示数据 2.4 十进制表示法 2.5 二进制表示法 2.6 十六进制表示法 2.7 八进制表示法 2.8 整数的表示法 2.9 浮点表示法 2.10 微型计算机系统与微处理器 2.12 计算机输入/输出设备 2.13 微型计算机的总线及接口标准 2.14 程序设计基础 2.15 算法基础 2.1 数据类型 2.2 计算机内部的数据 问题:计算机怎样处理所有这些数据类型呢?是否用不同的计算机处理不同类型的数据? 答案:当然是否定,最有效的解决方法是采用统一的数据表示法。 所有计算机外的数据类型都采用统一的数据表示法,经过转换后存入计算机,当数据从计算机输出时再还原回来。这种通用的格式被称为位模式。 2.2.1 位 位(bit,binary digit的缩写,二进制数字)是存储在计算机中的最小数据单元;它是0或1。 2.2.2 位模式 位模式,它是一个系列,有时也被称为位流。 问题:计算机存储器怎样知道它所存储的位模式表示哪种类型的数据。 答案:实际上它并不知道,计算机存储器仅仅将数据以位模式存储。至于解释位模式是数字类型、文本类型、或其他的数据类型则是由输入\输出设备或程序来完成的。它只是完成了下面一个过程,当数据输入计算机时,它们被编码,当呈现给用户时,它们被解码。如图2-3所示: 2.2.3 字节 字节:通常长度为8的位模式。 这个术语同样被用来测量内存或其他存储设备的大小。 2.3 表示数据 如何用位模式表示不同类型的数据 2.3.1 文本 文本的片段是用来表示该语言中某个意思的一系列的符号。 例如: 26个字符(A,B,C,…Z)来表示大写字母; 26个字符(a,b,c,…z)表示小写字母; 10个字符(0,1,2…9)来表示数字; (.、?、:、;、…、!)来表示标点。 问题:在一种语言中,位模式到底需要多少位来表示一个符号? 回答:这取决于该语言集中到底有多少不同的符号。 问题:那么位模式的长度和符号的数量关系如何呢? 回答:他们的关系不是线性而是对数关系。例如:如果需要两个符号,位模式的长度就是1位(log22=1)。 代码与编码 代码:被设计用来表示文本符号的不同的位模式集合称为代码。 编码:表示符号的过程称为编码。 1、ASCII 美国国家协会标准(ANSI)开发了一个被称为美国信息交换标准(ASCII)的代码。此代码使用7位表示每个符号。因此可以定义128(27)种不同的符号。用于表示ASCII码的完整位模式可见附录A。图2-5展示了在ASCII码中“BYTE”是如何表示的。 ASCII码使用7位模式,范围从0000000到1111111。 第一个模式(0000000)表示空字符。(没有字符)。 最后一个模式(1111111)表示删除字符。 有31种控制(不可打印的)字符。 数字字符(0到9)编码在字母字符之前。 有一些专用的打印字符。 大写字母(A…Z)编码在小写字母(a…z)之前。 大小写字符仅用1位来区分。例如,A的模式是1000001,a的模式是1100001。唯一的不同是从右数第6个位上。 在大小写字母之间,有6种特殊的字符。 2.扩展ASCII码 ASCII位模式通过在左边增加额外的0来进行扩充。 3.EBCDIC 扩充的二进制编码的十进制交换码。 4.Unicode 使用16位并能表示到多达65536个符号。 5.ISO 国际标准化组织 一种使用32位模式的符号。 汉字字符的编码 汉字编码分为机内码和机外码 机内码是在计算机内部使用的用二进制代码表示的汉字编码,用于在计算机内部存储、交换、处理加工汉字信息; 机外码是不在计算机内使用的汉字编码,主要是指汉字输入码。此外还有供输出的汉字字形点阵码。 汉字字符的编码 GB2312国际编码 汉字机内码 汉字输入码 汉字的输出 汉字编码 汉字是世界上最庞大的字符集。国家标准GB2312-80提供了中华人民共和国国家标准信息交换用汉字编码,简称国标码。该字符集把常用汉字分成二个字库。一级字库3755个汉字,通常占使用汉字的90%左右,按拼音字母顺序排列。二级字库不太常用,有3008个汉字,按部首顺序排列。另外还收录了一些图形符号。汉字和图形符号合计7445个。 2.3.2 数 数是使用二进制系统来表示的。在这种系统中,位模式(一系列的0和1)被用来表示数。 (下一节具体讨论) 2.3.3 图像 图像在计算机中有两种表示方法:位图图形或矢量图形。 位图图形表示 对于仅有黑白点组成的图像,1位模式足够表示像素。0模式表示白像素,1模