计算机科学导论
1 绪论
图灵模型是一个可编程的数据处理器,在图灵模型中,输出数据依赖于两方面因素的结合作用:输入数据和程序。通用图灵机是对现代计算机的首次描述,该机器只要提供了了合适的程序就能做任何运算。
基于冯?诺依曼模型建造的计算机分为4个子系统:存储器、算术运算单元(ALU)、控制单元和输入/输出单元。存储器用来存储数据和程序;算术运算单元进行计算和逻辑运算;输入/输出单元负责从计算机外部接收数据和程序,并把计算机的处理结果输出到计算机外部,控制单元是对其他子系统进行控制操作。
冯?诺依曼模型中的程序和指令在计算机中都以二进制比特存储,在计算机中,指令按顺序执行。
计算机由3大部分组成:计算机硬件、数据和计算机软件。硬件基于冯?诺依曼模型,且包含四部分。数据以0/1比特进行存储。图灵和冯?诺依曼模型的主要特征是程序的概念。程序被存储在计算机的存储器中,且必须是有序的指令集。指令集的作用实现重用。算法是按步骤解决问题的办法,计算机语言可以提高编程的效率,软件工程是指结构化程序的设计和编写,它不仅包括要完成某一任务的应用程序,还包括程序设计要严格遵循的原理和规则。而操作系统的诞生,是有一系列指令对所有程序来说是公用的,因此它是程序访问计算机部分提供方便的一种管理程序。
2 数字系统
在将十进制数转换到其他底的数值时,分为两部分,整数部分是进行连除,余数作为本位的数值,商进行下一步计算;小数部分是进行连乘,整数值作为本位的数值,小数值进行下一步计算。
3 数据存储
数据类型分为5种:数字、文本、音频、图像和视频。所有的数据类型都转换为称作位模式的统一表现形式。
数字在存储到计算机内存中之前被转换成二进制系统。有多种方法来处理符号。有两种方法来处理小数点:定点和浮点。整数可以被当作小数点位置固定的数字。无符号整数是永远不会为负的整数。存储有符号整数的方法之一是符号加绝对值格式。这种格式中,最左边用于显示符号且其余位定义绝对值。符号和绝对值互相分开。几乎所有的计算机都使用*二进制补码表示法*来存储位于n位存储单元中的有符号整数。在该方法中,无符号整数有有效范围被分为两个相等的子范围。每一个子范围用来表示非负整数,每二个子范围用来表示负整数。在二进制补码表示法中,最左边决定整数的符号。但符号和绝对值互相分开。实数是带有整数部分和小数部分的数字。实数使用浮点表示法存储在计算机中。在浮点表示法中数字由3部分组成:符号、位移量和定点数。
文本的片断是用来表示该语言中某个意思的一系列符号。我们可用位模式来表示每一个符号。不同的位模式集合被设计用于表示文本符号。硬件和软件制造商联合进来共同设计了一种名为Unicode的代码,这种代码使用32位表示一个符号。
总督表示声音或音乐。音频是模拟数据,我们不能够在一段时间记录无限数量的值,我们只能记录一些样本。样本数依赖于模拟信号中变化的最大数量。从每个样本测量得到的值是真实的数字。量化指的是将样本的值截取为最接近的整数值的一种过程。
存储在计算机中的图像使用两种不同的技术:光栅图或适量图。当我们需要存储模拟图像(如照片)时,就用到了光栅图。图像被扫描(采样)然后存储像素。用矢量图方法,图像被分解成几何图形的组合,诸如线段、矩形或圆形。每个几何形状由数学公式表达。
视频是图像(称为帧)在时间上的表示。一部电影就是一系列的帧逐个播放而形成运动的图像。换言之,视频是随空间(单个图像)和时间(一系列图像)变化的信息表现。
需要注意的地方是:
符号加绝对值的表示方法有两个0,分别是+0和-0,而二进制补码的表示法只有一个0。因此范围也不一样。
科学户数法中的规范化表示存储该数的3部分信息:符号、指数和尾数。小数点左边的1并没有存储,它们是隐含的。尾数是带符号的小数部分,像以符号加绝对值表示法存储的整数那样对待。
在余码系统中,正的和负的都以无符号数存储,将正整数添加到每个数字中,,统一按偏移量把数向右移。
在IEEE标准中,单精度数用32位来存储,符号1位、指数8位(偏移量为127)、尾数为23位,也称为余127码。双精度数彩共64位来存储,符号1位、指数11位(偏移量为1023)、尾数使用52位,也称为余1023码。
图像的表示中对像素的编码使用的是RGB数,共24位,称为真彩色,每个8位表示0~256之间的一个数;除了真彩色之外,另一种方法是用索引色,通常只有256个索引,只用8位来存储同样的像素。JPEG格式使用的是真彩色模式,但压缩了图像,gif格式使用的是索引色模式。
4 数据运算
数据运算分成三大类:逻辑运算、移位运算和算术运算。NOT运算符的唯一应用是求反,AND运算符的一个应用是对指定位进行置位(置0),OR运算符的一个应用是对指定位置位(置1),XOR运算符可以对指定位进