《大学计算机基础进制和编码》由会员分享,可在线阅读,更多相关《大学计算机基础进制和编码(41页珍藏版)》请在金锄头文库上搜索。
1、大学计算机基础 章计算机中的信息表示 本章学习重点 l熟悉二进制的基本概念及二进制的运算l掌握各种进制的相互转换l了解计算机中数据的表示和编码方法 大学计算机基础 计算机中处理的数据是多种多样的 如数值 文字 图像 声音等等 根据冯 诺依曼原理 在计算机内部这些信息都是以二进制表示的 计算机中的数据 为什么计算机要采用二进制 1 二进制只有两个状态 稳定 可靠 便于区分 2 硬件容易实现 具有两个稳定状态的物理器件很多 如 电压的高低 电流的有无 开关的闭合等 3 运算规则简单 便于实现逻辑运算 大学计算机基础 2 1进制与进制转换 数是客观事物的抽象的符号化表示 用一组固定的数字符合和一套统
2、一的规则来表示数的方法称为数制 数制是数的表示和计数方法 计算机中常用二进制 十进制 八进制 十六进制 进制是按照进位方式计数的数制系统 进位方式计数含有基数和各数位的位权 基数指该进制中允许使用的基本数码的个数 如十进制有0 1 2 9 一个数码处在不同的位置其代表的值不同 每个数码代表的数值等于该数码乘以与其位置相关的一个常数 该常数称为位权 位权的大小是以基数为底 数码所在位置的序号为指数的整数次幂 如100 101 102 103等 大学计算机基础 十进制的表示 采用位权表示法 123 45 1 102 2 101 3 100 4 10 1 5 10 2 总结出以下原则 十进制有0 1
3、 2 9共10个数字符号 每个符号表示0 之间的十个不同的值 由十个符号组成的序列来表示任意数值 写成如下形式 X 10 KnKn 1 K1K0 K 1K 2 K mKI 0 1 2 9 X 10 Kn 10n Kn 1 10n 1 K1 101 K0 100 K 1 10 1 K m 10 m10I称为第i位的权 10为基 按权展开式 逢十进一 借一当十 2 1 1进制 大学计算机基础 由此推广到任意进制计数方法 R进制表示 R进制有0 1 2 R 1共R个数字符号 每个数字符号各代表0 R 1之间一个固定的值 由R个符号组成的序列来表示数值 写成如下形式 X KnKn 1 K1K0 K 1
4、K 2 K mK 0 1 2 R 1 表示的值是 采用位权表示法 X Kn Rn Kn 1 Rn 1 K1 R1 K0 R0 K 1 R 1 m m每一位代表的值要由该符号所代表的值乘一个与符号位置相关的常数Ri来确定 Ri称为位权 R称为计数系统的基 逢R进一 借一当R 进位计数制的要素 1 数码的个数2 进位的基数 大学计算机基础 计算机中常用的几种数制 大学计算机基础 二进制数的数码有两个符号0 1 由这两个符号组成的序列可以表示任意数值 进位规则为 逢二进一 借一当二 如 二进制数101010 101可以写成如下形式 101010 101 2 1 25 0 24 1 23 0 22 1
5、 21 0 20 1 2 1 0 2 2 1 2 3 32 8 2 0 5 0 125 42 625 10 2 二进制 由于二进制的位权最小 所以表示同一个值的时候 符号序列较长 如 255 10 11111111 2 为了表示的方便 计算机中常采用八进制和十六进制 大学计算机基础 3 八进制八进制数的数码为0 1 2 3 4 5 6 7共八个 进位规则为 逢八进一 借一当八 如 327 8 3 82 2 81 7 80 192 16 7 215 10 4 十六进制十六进制数的数码为0 1 2 3 4 5 6 7 8 9 A B C D E F共十六个 其中数码A B C D E F分别代表十
6、进制数中的10 11 12 13 14 15 进位规则为逢十六进一 借一当十六 如 327 16 3 162 2 161 7 160 768 32 7 807 10 15 10 1111 2 17 8 F 16 15D 1111B 17O FH 5 不同进制的表示 后缀法 下标法 大学计算机基础 2 1 2不同进位计数制之间的转换 1 2 8 16进制转换为十进制任意进制数转换为十进制数采用 按位权展开求和 的方法即可 10101B 1 24 0 23 1 22 0 21 1 20 21D 101 11B 1 22 0 21 1 20 1 2 1 1 2 2 5 75D 101O 1 82 0
7、 81 1 80 65D 101AH 1 163 0 162 1 161 10 160 4106D 大学计算机基础 原则 整数部分 除以基取余数 直到商为0 余数从右到左排列 小数部分 乘以基取整数 整数从左到右排列 例100 345 D 1100100 01011 B 100 D 144 O 64 H 100 D 144 O 64 H 1100100 B 试权法 215D 11010111B 2 十进制转换为2 8 16进制 大学计算机基础 3 二进制与八进制之间的转化 64O 64110100B A 八进制转换成二进制 每一位八进制数与三位二进制数相对应 转换原则 一分为三 27 461O
8、 27 461010111 100110001B B 二进制转化成八进制原则 三位一组 从小数点开始 整数部分 从右向左进行分组 小数部分 从左向右进行分组 不足3位补零 110101111 01010B 657 24O65724 后边补一个零100 0 大学计算机基础 64H 6401100100B 4 二进制与十六进制之间的转化 A 十六进制转换成二进制原则 一分为四每一个十六进制数对应二进制的四位 2C1DH 2C1D0010110000011101B B 二进制转化成十六进制原则 四位一组 从小数点开始 整数部分 从右向左进行分组 小数部分 从左向右进行分组 不足4位补零 110110
9、1110 110101B 36E D4H36ED4 后边补两个零0100 00 大学计算机基础 16以内的各种进制对照表 大学计算机基础 1 二进制的算术运算加法 0 0 01 0 10 1 11 1 10 进位 减法 0 0 01 0 11 0 10 1 1 借位 乘法 0X0 00X1 01X0 01X1 1除法 0 0 00 1 01 1 1 例 00101101 01011011 1000100000101101 0101101110001000 2 1 3二进制数据的运算 大学计算机基础 2 二进制的逻辑运算具有逻辑性的变量称为逻辑变量 逻辑变量之间的运算就是逻辑运算 用二进制的 1
10、 与 0 代表逻辑关系的真与假 以下是三种基本的逻辑运算 逻辑 与 运算 AND 0 1 01 0 00 0 01 1 1 大学计算机基础 逻辑 或 运算 OR 0 0 00 1 11 0 11 1 1 逻辑 非 运算 NOT 0 11 0 大学计算机基础 二进制的相关概念 一位二进制称为一个比特 bit 八位二进制构成一个字节 Byte 字节是存储的基本单元 是计算机对数据操作的最小单位 地址相关的概念 地址线的位数决定了可以访问内存单元的个数 每一根地址线对应一位二进制 10根地址线 可访问的单元数是 210 1024 103 1K 20根地址线 可访问的单元数是 220 1024K 10
11、6 1M 30根地址线 可访问的单元数是 230 1024M 109 1G 32根地址线可以访问多大内存 4GB 1K 1024B 1M 1024K 1G 1024M 1T 1024G 大学计算机基础 2 2 1数值数据的表示 计算机处理的数据分为数值型数据和非数值型数据 数值型数据用于表示数量特征 而非数值数据用于表示特定的信息 如文字 图形 图像等 计算机只能使用二进制 因此在计算机中 正号 负号 数值 字符和文字 图形等都必须用0和1的组合来实现 把利用0和1的各种组合来表示信息的方法统称为编码 数值型数据的表示需要描述三点 数值的绝对值 小数点 符号 正负号 2 2计算机中数据的表示
12、大学计算机基础 数值的精度和范围 计算机是有模运算 即用有限的二进制位来表示数值 超出有限的二进制位数最大值系统归零重新计数 2 无符号整数的表示数值型数据分为有符号型和无符号型 无符号整数指的是计数系统中只有大于等于0的数 没有负数 因此 不需要表示符号 如用8位二进制表示一个无符号整数 其范围是二进制从00000000到11111111 对应的十进制数从0到255 大学计算机基础 3 有符号整数的表示 对于有符号型的数值数据中有正 负数和零 则必须通过编码的方式表示符号 在计算机中 通常在二进制数据的绝对值前面加上一位二进制位作为符号位 符号位为0代表此数为正数 符号位为1代表此数为负数
13、从而形成了数值型数据的机内表示形式 为了方便运算 对有符号数常采用三种表示形式 即原码 反码 补码 大学计算机基础 正数的符号位为0 负数的符号位为1 其它位用此数的绝对值表示 得到的即为此数的原码 正数 55D的8位二进制表示为 00110111 其原码表示为 00110111 负数 55D的绝对值是 00110111 其原码表示为 10110111 2 反码正数的反码与原码相同 负数的反码的符号位为1 其余各位对原码按位取反 得到的即为此数的反码 66D的反码为 01000010 66D的反码为 10111101 1 原码 原码的0 存在两个000000000B 1000000B在运算时需
14、要判断符号 大学计算机基础 3 补码有模计数系统当计数值超过系统的 模 时系统重新开始计数 补码是利用有模运算表示数据的一种方式 X 补 2n X 2n 1 X 2n 1 28 100000000 就是8位二进制计数系统的模 有模计数系统有如下性质 如 时钟从5点调整到2点有两种方法 5 3 25 9 12 212为计数系统的模 3 9互为补数 有模计数系统可以将减一个数转化成加该数的补数 也就是可以将减法运算转化成加法运算 如果用八位二进制表示一个数 系统的模是28 100000000 00000000 大学计算机基础 例1 102 D 其原码 01100110 其反码 01100110 其
15、补码 01100110 102 D 其原码 11100110 其反码 10011001 其补码 10011010 例2 102 25 补 102 补 25 补 01100110 11100111 01001101 77 补 77 D 正数的补码与原码相同 负数的补码的符号位为1 其余各位为反码并在最低位加1 得到的即为此数的补码 计算机采用补码编码 从而简化运算 补码有如下性质 X Y 补 X 补 Y 补 X Y 补 X 补 Y 补 0在补码系统中唯一 大学计算机基础 3 浮点数的表示 如果数据有整数部分和小数部分 那么就必须表示小数点 现在计算机采用的是浮点数表示方法 一个数的浮点数表示为
16、E M 2NM是二进制表示的纯小数 称为尾数 N是二进制表示的纯整数 称为阶码 单精度浮点数的标准规定用32位二进制表示浮点数 其中尾数M占23位 阶码N占8位 32位二进制的最高位b31表示数符 即尾数的符号 也就是整个数的符号 b30到b23一共8位采用补码方式表示阶码 b22到b0表示尾数 大学计算机基础 计算机处理的信息包括数值 文字 符号 语音 图形 图象 在计算机内部各种信息都必须以数字化的二进制编码形式传送 存储和加工 因此 所有的信息都应转化为二进制编码 编码是以少量的二进制位 通过一定的组合规则 表示出大量复杂多样的信息 2 2 2非数值数据表示 大学计算机基础 1 英文信息的编码 ASCII码 英文是符号文字 只要通过二进制编码表示其基本元素 如字母 即可实现英文文字的数字化表示 目前 国际上使用的字母 数字和符号的信息编码系统是采用美国国家信息交换标准字符码 AmericanStandardCodeforInformationInterchange 简称为ASCII码 例如 大写字母A A 1000001 ASC 65w7w6w5w4w3w2w1小写字母a a 1