计算机导论
- 一、绪论
- 计算机黑盒
- 数据处理器
- 输入数据->计算机->输出数
- 冯诺依曼模型
- 4个子系统:存储器、算术逻辑单元、控制单元、输入/输出单元
- 存储器:在计算机处理过程中用来存储数据和程序。
- 算术逻辑单元:是进行计算和逻辑操作的地方。
- 控制单元:是对其他3个子系统等的操作进行控制的单元。
- 输入/输出单元:输入子系统负责从计算机外部接受输入数据和程序;输出子系统负责将计算机的处理结果输出到计算机外部。
- 数据处理器
- 计算机黑盒
- 二、数据的表示
- 数据的类型
- 数据以不同形式存在,例如:数字、文本、图像、音频和视频等。
- 计算机内部的数据
- 位:(bit)是存储在计算机中的最小数据单元;它是0或1。
- 位模式:能用于表示数据的不同类型的序列,也被称为位流。
- 字节:长度为8的位模式。
- 表示数据
- 文本:ASCII码、扩展ASCII码、二进制编码的十进制交换码EBCDIC、Unicode、ISO国际标准化组织。
- 数:使用二进制系统表示。
- 图像
- 位图图像:图像被分成像素矩阵,把图像分成像素后,每个像素被赋值为位模式。
- 矢量图:不存储位模式,它是将图像分解成曲线和直线的组合,其中每一曲线或直线由数学公式表示。
- 音频
- 本质是模拟数据,它是连续的,并不是离散的。存储为位模式,具体步骤如下:
- ① 对模拟信号进行采样(以相同的间隔来测量信号的值)。
- ② 量化采样的值。
- ③ 将量化的值转换成位模式。
- ④ 存储位模式。
- 视频:视频是图像在时间上的表示。
- 十六进制表示法:4位模式可用来表示十六进制数。
- 八进制表示法:3位模式可用来表示八进制数。
- 数据的类型
- 三、数的表示
- 十进制和二进制的相互转换
- 二进制转换成十进制:将每个二进制数字分别乘以它的权值(z^n),再将结果相加即得到十进制数。
- 十进制转换成二进制:(反复采用底数除法)
- 整数的表示法
- 无符号整数
- 范围:0 ~(2^n -1)
- 存储无符号整数的过程步骤:
- ① 首先将整数变成二进制数。
- ② 如果二进制位数不足N位,则在二进制的左边补0,使它的总位数为N位。
- 应用:计数、寻址
- 有符号整数
- 符号加绝对值格式
- 范围:-(2^n -1 - 1) ~ +(2^n -1 -1)
- 在符号加绝对值表示法中0有两种表示法:正数0和负数0。
- 存储符号加绝对值格式的过程步骤:
- ① 首先将数转换成二进制,其中符号被忽略。
- ② 如果二进制位数不足N-1,左边补0,使总的位数为N-1位。
- ③ 如果是正数,则在左边加0(使他它变成N位)。如果是负数,则在左边加1(使他它变成N位)。
- 应用:模拟信号转换成数字信号。
- 二进制反码格式
- 范围:-(2^n - 1) ~ +(2^n -1)
- 在二进制反码表示法中0有两种表示法:正数0和负数0。
- 存储二进制反码格式需要以下步骤:
- ① 首先将数转换成二进制数,符号被忽略。
- ② 在数的左边补0,使它的位数为N位。
- ③ 如果符号为正,就不需再变动。如果符号为负,则将每一位换成它的反码形式(0变成1,1变成0)。
- 在二进制反码表示法中,最左边的位定义数的符号。如果为0,数值为正。如果是1,数值为负。
- 优点:① 是补码表示法的基础;② 它所具有的一些属性使得例如错位检测和纠错的数据通信应用程序变得有意义。
- 二进制补码格式
- 范围:-(2^n-1) ~ (2^n-1 - 1)
- 二进制补码表示法只有一个0,且表示范围的起始值比二进制反码小1。
- 存储二进制补码格式需要以下步骤:
- ① 首先将数转换成二进制数,符号被忽略。
- ② 如果二进制位数不足N位,在数的左边补0,使它的位数为N位。
- ③ 如果符号为正,就不需再变动。如果符号为负,则将最右边的所有0和首次出现的1保持不变,其余位数取反。
- 应用:计算机存储整数的标准用法。
- 符号加绝对值格式
- EXCESS系统
- EXCESS转换中,正数被称为幻数用于数据的转换过程。幻数通常指(2^N-1)或(2^N-1 - 1),这里的N是存储单元的位数。例如N是8,则幻数是128或127,称为Excess_128表示或Excess_127表示。
- 在EXCESS系统中表示数的步骤如下:
- ① 将整数与幻数相加。
- ② 把结果转换成二进制数,并补0使它总的位数为N位。
- 浮点数表示法
- 浮点数被分为小数部分和整数部分。
- 把浮点数转换成二进制步骤如下:
- ① 把整数部分转换成二进制。
- ② 把小数部门转换成二进制。
- ③ 在两部分之间加上小数点。
- 规范化:即移动小数点使小数点的左边只有一个1,为了表示这个数的原始值,将它乘以2^e,这里e表示这个数的小数点所移动的位数:e为正数则左移,为负数则右移。根据该数的正负将正负号加在最前面。
- 符号、幂和尾数
- 符号:用一个二进制位来存储。
- 指数:(2的幂)定义小数点移动的位数。注意幂可以为正也可以为负。Excess表示法用来存储指数。
- 尾数:小数点右边的二进制位数。定义了数的精度。用无符号整数存储。
- IEEE标准:
- 单精度表示法:
- ① 存储符号,0表示负数,1表示正数。
- ② 以Excess_127格式存储指数。
- ③ 以无符号整数存储尾数。
- 单精度表示法:
- 无符号整数
- 十进制和二进制的相互转换
- 四、 位运算
- 算术运算
- 整数的算术运算(二进制补码)
- 加、减、乘(连加)、除(连减)
- 加法:2个位相加,将进位加到下一列。如果最左边的列相加后还有进位,则舍弃它。
- 整数的算术运算(二进制补码)
- 算术运算
-
-
-
- 减法:负数的加法。
- 溢出:当试图把一个数存储在超出地址分配所定义的范围时而发生的错误。
- 二进制补码的范围:-2^(n-1)到2^(n-1)-1
- 浮点数的算数运算
- 检查符号
- 如果符号相同,相加其值,结果符号与它们相同。
- 如果符号不同,比较绝对值,绝对值打的减去小的,结果符号取绝对值打的一方。
- 移动小数点,使两者指数相同。
- 将尾数进行加减运算,包括整数和小数部分。
- 先规范化结果再存入内存中。
- 检查是否存在溢出。
- 检查符号
-
- 逻辑运算
- 一元运算、二元运算
- 真值表
- 一元运算符
- Not运算符:非运算符,对输入取反。
- 二元运算符:输入两个操作数,输出一个操作数。
- 与运算符:当且仅当两位数都是1时,结果为1,否则结果为0。
- 或运算符:当且仅当两位同时为0时,结果为0,否则结果为1。
- 异或运算符:当且仅当两者相同,同为0或同为1,则结果为0,否则结果为1。
- 应用
- 位模式可以通过与另一个位模式进行与、或以及异或运算而被修改,这里的另一个位模式就是所谓的掩码。
- 使指定的位复位(置0)目标位模式 AND 掩码
- 对于目标位模式中需要置0的位,掩码的相应位设为0。
- 对于目标位模式中需要保持不变的位,掩码的相应位设为1。
- 使指定的位置位(置1)目标位模式 OR 掩码
- 对于目标位模式中需要置1的位,掩码的相应位设为1。
- 对于目标位模式中需要保持不变的位,掩码的相应位设为0。
- 使指定的位反转(反转)目标位模式 XOR 掩码
- 对于目标位模式中需要反转的位,掩码的相应位设为1。
- 对于目标位模式中需要保持不变的位,掩码的相应位设为0。
- 移位运算(只于无符号的数)
- 左移、右移
- 无符号数,一次右移运算将数整除2;一次左移运算将数乘2。
-