第2章 计算机的基础知识
内容提要 计算机的运算基础 命题逻辑与逻辑代数基础 计算机的基本结构与工作原理 程序设计基础 算法基础 数据结构基础
基本要求: 掌握数制间的转换方法以及数据在计算机内部的表示形式 理解逻辑代数、计算机的工作原理、程序设计以及算法与数据结构的基本知识,为学习本书的以下各章和后续课程打好基础
十进制 数制:按进位的原则进行计数称为进位计数制,简称数制。 十进制:是使用数字1、2、… 、9、0等符号来表示数值且采用“逢十进一”的进位计数制。 位权表示法数制的特点: 数字的总个数等于基数。 最大的数字比基数小1。 每个数字都要乘以基数的幂次,该幂次由每个数字所在的位置决定。
二进制 二进制:使用数字0和1等符号来表示数值且采用“逢二进一”的进位计数制。 二进制数制的特点: 仅使用0和1两个数字。 最大的数字为1,最小的数字为0。 每个数字都要乘以基数2的幂次,该幂次由每个数字所在的位置决定。 二进制加法和乘法运算规则: 0+0=0 0 × 0=0 0+1=1 0 × 1=0 1+0=1 1 × 0=0 1+1=10 1 × 1=1
八进制与十六进制 八进制:使用数字0、1、2、3、4、5、6、7等符号来表示数值的,且采用“逢八进一”的进位计数制。 十六进制:使用数字0、1、2、3、4、5、6、7、8、9和A、B、C、D、E、F等符号来表示数值,其中A、B、C、D、E、F分别表示数字10、11、12、13、14、15。十六进制的计数方法为“逢十六进一”。
十进制整数转换为非十进制整数 除基取余法:“除基取余,先余为低(位),后余为高(位)”。 〖 例2-1〗 (55)10=(110111)2 余数 2 55 1 2 27 1 2 13 1 2 6 0 2 3 1 2 1 1
十进制整数转换为非十进制整数 〖 例2-2 〗(55)10=(67)8 余数 8 55 7 8 6 6 8 55 7 8 6 6 〖 例2-3 〗(55)10=(37)16 16 55 7 16 3 3
十进制小数转换为非十进制小数 乘基取整法:“乘基取整,先整为高(位),后整为低(位)” 〖 例2-4 〗( 0.625)10=(0.101)2 0.625 整数 × 2 1 .25 1 0.25 × 2 0.5 0 1.0 1
十进制小数转换为非十进制小数 〖例2-5 〗 (0.32)10=(0.0101…)2 0.32 整数 × 2 0.64 0 × 2 〖例2-5 〗 (0.32)10=(0.0101…)2 0.32 整数 × 2 0.64 0 × 2 1.28 1 0.28 × 2 0.56 0 1.12 1 …
十进制小数转换为非十进制小数 十进制小数并不是都能够用有限位的其他进制数精确地表示,这时应根据精度要求转换到一定的位数为止,作为其近似值。 如果一个十进制数既有整数部分,又有小数部分,则应将整数部分和小数部分分别进行转换。
非十进制数转换为十进制数 位权法:把各非十进制数按权展开,然后求和。 〖 例2-7 〗(10110)2 =1×24+0×23+1×22+1×21+0×20 =16+0+4+2+0 =(22)10 〖 例2-8 〗(10101.1011)2 =1×24+0×23+1×22+0×21+1×20 +1×2-1+0×2 -2+1×2-3 =16+0+4+0+1+0.5+0+0.125 =(21.625)10 〖 例2-9 〗(1207)8=1×8 3+2×8 2+0×8 1+7×8 0 =512+128+0+7 =(647)10 〖 例2-10〗(1B2E)16=1×16 3+B×16 2+2×16 1+E×16 0 =1×4096+11×256+2×16+14×1=(6958)10
二进制与八进制之间的转换 二进制数转换为八进制数:以小数点为界,将整数部分自右向左和小数部分自左向右分别按每三位为一组(不足三位用0补足),然后将各个三位二进制数转换为对应的一位八进制数。 八进制数转换为二进制数:把每一位八进制数转换为对应的三位二进制数。 〖 例2-11 〗(10111001010.1011011)2=(010 111 001 010 . 101 101 100)2 =(2712.554)8 〖 例2-12 〗(456.174)8 =(100 101110.001 111 100)2 =(100101110.0011111)2
二进制与十六进制之间的转换 二进制数转换为十六进制数:以小数点为界,将整数部分自右向左和小数部分自左向右分别按每四位为一组,不足四位用0补足,然后将各个四位二进制数转换为对应的一位十六进制数。 十六进制数转换为二进制数:把每一位十六进制数转换为对应的四位二进制数。 〖 例2-13 〗(10111001010.1011011)2=(0101 1100 1010.1011 0110)2 =(5CA.B6)16 〖 例2-14 〗(1A9F.1BD )16=(0001 1010 1001 1111.0001 1011 1101)2 =(1101010011111.000110111101)2
码制 原码表示法:用符号位和数值表示带符号数,正数的符号位用“0”表示,负数的符号位用“1”表示,数值部分用二进制形式表示。 反码表示法:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反。 补码表示法:正数的补码与原码相同,负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1。 数的原码表示适合于进行乘除运算;补码用于进行加减运算。
定点小数格式 定点小数格式:把小数点固定在数值部分最高位的左边。 N0 . N-1 N-2 ...... N-m 符号位 小数点 数值部分 数的范围:二进制的(m+1)位定点小数格式的数N,所能表示的数的范围为|N|≤ 1 - 2-m。 比例因子:对于绝对值大于1的数,如果直接使用定点小数格式将会产生“溢出”,需根据实际需要使用一个比例因子,将原始数据按该比例缩小,以定点小数格式表示,得出结果后再按该比例扩大得到实际的结果。
定点整数格式 定点整数格式:把小数点固定在数值部分最低位的右边。 N0 Nn Nn-1 ...... N2 N1 . 符号位 数值部分 小数点 数的范围:二进制的(m+1)位定点整数格式的数N,所能表示的数的范围为|N|≤ 2m - 1。 比例因子:对于绝对值大于该范围的数,如果直接使用定点小数格式也将会产生“溢出”,需根据实际需要选择一个比例因子进行调整,使所表示的数据在规定的范围之内。
浮点表示法 浮点表示法:小数点的位置不固定,一个浮点数分为阶码和尾数两部分。 阶码:用于表示小数点在该数中的位置,是一个整数。 尾数:用于表示数的有效数值,可以采用整数或纯小数两种形式 可供选择的一种位数分配形式:设字长为32位 符号位 阶码部分 尾 数 部 分 1位 8位 23位 规格化的浮点数:为了提高浮点数表示的精度通常规定其尾数的最高位必须是非零的有效位,称为浮点数的规格化形式。
BCD码与ASCII码 BCD码:是一种二-十进制的编码,使用四位二进制数表示一位十进制数。 ASCII(American Standards Committee of Iformation Interchange)码:是由美国信息交换标准委员会制定的、国际上使用最广泛的字符编码方案。 ASCII码的编码方案:采用7位二进制数表示一个字符,把7位二进制数分为高三位(b7b6b5)和低四位 (b4b3b2b1) 7位ASCII编码表:如表2-5所示,利用该表可以查找数字、运算符、标点符号以及控制符等字符与ASCII码之间的对应关系。
汉字编码体系 汉字输入码:由输入设备产生的汉字编码,如区位码、国标码、拼音码、新全拼、新双拼、五笔字型码、简码、表形码、自然码、智能ABC汉字输入码等。 汉字内码:用于计算机内部存储和处理的汉字编码,通常由该汉字的国标码的两个字节(最高位置“1”)形成。 汉字字形码:确定一个汉字字形点阵的编码,用于汉字显示和打印输出。保留在存储介质中的全部汉字字形码称为字库。 汉字交换码:用于在不同的汉字信息处理系统之间或与其他计算机系统之间进行信息交换。 汉字地址码:表示汉字字形信息在汉字库中的地址,用于在汉字库中查找汉字字形信息的汉字地址码等。
数据校验码 奇偶校验码:在表示数据的N位代码中增加一位奇偶校验位,使N+1位中“1”的个数为奇数(奇校验)或偶数(偶校验)。 海明校验码:在有效信息代码中增加校验位,用来校验代码中“1”的个数是奇数(奇校验)还是偶数(偶校验),通过奇偶校验可以发现代码传输过程中的错误并自动校正。 应用:用于计算机各部件之间信息传输以及计算机网络的信息传输。