




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章信息表示与计算基础 数 字符的表述方法不同进制的表示及相互间的转换数的定点 浮点表示法二进制数的运算 第3章信息表示与计算基础 本章教学要求 重点 数的定点 浮点表示法 二进制逻辑 与 或 非 异或 运算方法 难点 带符号数的原码 反码 补码运算 要求 掌握二进制的基本概念 掌握不同进制的表示及相互间的转换 掌握二进制数的运算方法 一 常用的数制系统 按进位的原则进行计数 称为进位计数制 简称 数制 常用的数制系统包括 二 八 十和十六进制 人们所习惯的是十进制 二进制是面向计算机的 它是计算机所采用的进位制 八进制和十六进制是面向人和机器的 不论是哪一种数制 其计数和运算都有共同的规律和特点 1 基数 基数是指数制中所需要的数字字符的总个数 例如 十进制数用0 1 2 3 4 5 6 7 8 9等10个不同的符号来表示数值 这个10就是数字字符的总个数 也是十进制的基数 表示逢十进一 二进制数 基数为2 逢二进一 由数字0 1组成 八进制数 基数为8 逢八进一 由数字0 1 2 3 4 5 6 7组成 十六进制数 基数为16 逢十六进一 由数字0 1 2 3 4 5 6 7 8 9 A B C D E F组成 2 进制表示 为了区别不同进制数 常在不同进制数字后加一字母表示 十进制数 在数字后加字母D或不加字母 如 982D或982 二进制数 在数字后加字母B 如101101B 八进制数 在数字后加字母O 但为了与0区别 改为Q如36Q 十六进制数 在数字后加字母H 如6AH 若以A B C D E或F开头 则需要加前导词 0 以便与标识符相区分 如0A6H 计算机的语言 二进制 十进制R 10 可使用0 1 2 3 4 5 6 7 8 9二进制R 2 可使用0 1八进制R 8 可使用0 1 2 3 4 5 6 7十六进制R 16 可使用0 9 A B C D E F 逢R进一 借一当R 进制的概念 在按位定制的计数制中 十进制数可以表示成下列形式 用D代表 D 10 Di 10i Dn 1 10n 1 Dn 2 10n 2 D0 100 D 1 10 1 D m 10 m特点 有0 9十个数字符号 逢10进位 举例 519 02 n 1 i m 十进制表示法 5 102 1 101 9 100 0 10 1 2 10 2 二进制表示法 一个二进制数可以表示成下列形式 用B代表 B 2 Bi 2i Bn 1 2n 1 Bn 2 2n 2 B0 20 B 1 2 1 B m 2 m特点 有0和1两个数字符号 逢2进位 举例 1101 01 n 1 i m 1 23 1 22 0 21 1 20 0 2 1 1 2 2 二进制概念 我认识她已有1111年了 信息复制的精确性运算规则简单电子线路制造计算机成为可能 十六进制表示法 一个十六进制数可以表示成 用H代表 H 16 Hi 16i Hn 1 16n 1 Hn 2 16n 2 H0 20 H 1 16 1 H m 16 m特点 有0 9及A F共16个数字符号 逢16进位 举例 A3F 3B n 1 i m 10 162 3 161 15 160 3 16 1 11 16 2 二 数制间的转换 位权是指一个数字在某个固定位置上所代表的值 处在不同位置上的数字符号所代表的值不同 每个数字的位置决定了它的值或者位权 位权与基数的关系是 各进位制中位权的值是基数的若干次幂 因此 用任何一种数制表示的数都可以写成按位权展开的多项式之和 如十进制数 634 28D 可以表示为 634 08D 6 102 3 101 4 100 2 10 1 8 10 2 非十进制数转换成十进制数 非十进制数转换成十进制数时 把每一位非十进制数按权展开求和就可以得到 例 二进制数转换成十进制数101 1B 1 22 0 21 1 20 1 2 1 5 5D例 十六进制数转换成十进制数0B78 FH 11 162 7 161 8 160 15 16 1 2936 9375D 十进制数转换成非十进制数 十进制数转换成非十进制数时 可以分成两个部分 即整数部分和小数部分 分别进行转换 下面以十进制数转换成二进制数为例进行讲述具体的转换方法 其它进制的数转换成二进制数与十进制数转换成二进制数的方法相同 可以依此类推 整数部分转换方法是 整除取余法 即用十进制整数除以基数2 若商不为0 则继续用商除以基数2 直到商为0 最后将余数由下而上排列 例如 将10进制的30转换成2进制 30 2 最后得到的2进制数 从下往上写出 11110 10进制转换为2进制 0 15 0 2 7 1 2 3 1 2 1 1 2 1 低位 高位 小数部分的转换 转换方法是 乘数取整法 即用十进制小数乘以基数2 取出乘积的整数 若乘积的小数部分不为0或还没有达到所要求的精度 则继续用小数部分乘以基数2 直到乘积为0或达到所要求的精度为止 最后将所取出的整数由上而下排列 作为转换后的小数 例 将十进制数0 25转换为二进制数 结果为0 25D 0 01B 非十进制数之间的相互转换 非十进制数之间转换的最直接的方法是 以十进制数为桥梁 即将需要转换的源数据转换为十进制数 然后将得到的十进制数转换为目的进制的数据 其实八 十六和二进制数的基数之间存在一种幂关系 根据这种幂关系来转换可以克服上述方法的缺点 下面将讲述八 十六和二进制数之间的转换方法 八进制数和二进制数之间的转换 由于八进制数的基数8与二进制数的基数2之间的关系是 8 23 因此一位八进制数可以用三位二进制数来表示 反之 每三位二进制数可以组合为一位八进制数 需要注意的是 组合二进制数时整数部分按低位到高位的顺序 而小数部分按高位到低位的顺序组合 当位数不足三位时 可补 0 填充 整数部分在前面补 0 而小数部分则在后面补 0 因为这样补 0 不会影响原数据的数据值 例 573 26Q 101111011 010110B例 10110101 11B 010110101 110B 265 6Q 十六进制数和二进制数之间的转换 与上述的原理相同 由于十六进制数的基数16与二进制数的基数2之间的关系是 16 24 因此一位十六进制数可以用四位二进制数来表示 反之 每四位二进制数可以组合为一位十六进制数 例 0A57B C3H 101001010111 11000011B例 10110101 11B 10110101 1100B 0B5 CH 三 数值信息的表示 按照冯 诺依曼型计算机的存储原理 所有的数值数据必须以二进制数的形式预先存储在计算机的存储器中 计算机执行程序时从存储器中取出数据进行处理 那么数值信息在计算机中是如何表示的呢 本节将介绍这个问题的解决方法 机器数与真值 使用二进制数 0 表示正数 二进制数 1 表示负数 因此 数值可以这样表示 用最高位作为数值的符号位 并规定 0 表示正数 1 表示负数 每个数据占用一个或多个字节 每字节8位二进制数 这种连同数字与符号组合在一起的二进制数称为机器数 由机器数所表示的数据实际值称为真值 例如 N 53 转换成二进制后 N的真值是 110101B 假设机器的字长为8位 则N 53的机器数为 10110101B机器数10110101B在存储器中如下表所示存储 数符 整数 没有小数部分的数称为整数 也可以认为小数点在数的最右边 整数分为带符号和不带符号两类 对带符号的整数 符号位被放在最高位 整数表示的数是精确的 但数的范围是有限的 根据存放数的字长 它们可以用8位 1个字节 16位 2个字节 32位 4个字节 等表示 各自表示数的范围如下表所示 例如 十进制数 65在字长为8位的机器中存储形式如下表所示 实数 即带有小数的数 通常 实数采用 浮点数 或 科学表示法 表示 例如 0 275 104 其中 0 275称为尾数 指数4是阶码 指数符号为阶符 同样 任意二进制规格化浮点数的表示形式为 N d 2 P式中 d是尾数 前面的 表示数符 P是阶码 前面的 表示阶符 浮点数存储格式 阶码 阶符 数符 尾数 x 1101 01B的存储格式 原码 正数的符号位用 0 表示 负数的符号位用 1 表示 数值部分用二进制形式表示 这种表示法称为原码 原码与机器数相同 例如 用8位二进制数表示十进制整数 5和 5时 其原码分别为 5 原 00000101B 5 原 10000101B符号位数值位符号位数值位下面将考虑一个特例 0和 0的原码形式 0 原 00000000B 0 原 10000000B 反码 正数的反码和原码相同 负数的反码是对该数的原码除符号位外各位按位取反 如 用8位二进制数表示十进制整数 5和 5时 其反码分别为 5 反 00000101B 5 反 11111010B符号位数值位符号位数值位下面将考虑一个特例 0和 0的反码形式 0 反 00000000B 0 反 11111111B 补码 在普通的钟表上 18时和6时所指的位置是相同的 因为它们对于12具有相同的余数 简称同余 补码是根据同余的概念引入的 对二进制而言 正数的补码和原码相同 负数的补码是其反码加1 如 用8位二进制数表示十进制整数 5和 5时 其补码分别为 5 补 00000101B 5 补 11111011B符号位数值位符号位数值位下面将考虑一个特例 0和 0的补码形式 0 补 00000000B 0 补 10000000B 四 二进制数的运算 计算机既能进行数值运算 同时还可以进行逻辑运算 因此 二进制数有算术运算和逻辑运算两种 下面 将介绍这两种运算的规则 二进制数的加法运算 二进制加法运算规则是 0 0 0 0 1 1 0 1 1 1 10 逢2进1 例 求 1011011 B 1010 11 B 1011011 1010 111100101 11则 1011011 B 1010 11 B 1100101 11 B 二进制数的减法运算 二进制减法运算规则是 0 0 1 1 0 0 1 1 借1当2 1 0 1例 求 1010110 B 1101 11 B 1010110 1101 111001000 01则 1010110 B 1101 11 B 1001000 01 B 二进制数的乘法运算 二进制乘法运算法则 0 0 0 0 1 1 0 0 1 1 1例 求 1011 01 B 101 B 1011 01 101101101000000 10110111100001则 1011 01 B 101 B 111000 01 B 二进制数的除法运算 二进制除法运算法则 0 0 0 0 1 0 1 1 1例 求 100100 01 B 101 B 111 01101 100100 01 1011000 101110 1010101 1010则 100100 01 B 101 B 111 01 B 二进制数的补码运算 补码加减运算 X 补 Y 补 X Y 补 X Y 补 X Y 补 X 补 Y 补定理 不管 的真值为正还是为负 已知 Y 补求其机器负数 Y 补的方法都是 将 Y 补连同符号位一起变反 末尾加 例 已知 Y 补 1011001 Y 补 0100110 1 100111 补码运算规则 补码运算规则如下 参加运算的操作数用补码表示 符号位参加运算 若指令操作码为加 则两数直接相加 若操作码为减 则将减数转换为负数的补码后与被减数实施加法运算 运算结果用补码表示 例 X原 0 1011 Y原 0 0110 求X Y 解 X Y 补 X 补 Y 补 X 补 0 1011 Y 补 1 1010 X Y 补 X 补 Y 补 0 1011 1 1010 10 0101运算结果最高位舍去 所以 X Y 补 0 0101 即X Y 0 0101 溢出 由于机器的字长是一个有限的长度 因此当两正数相加 或两个负数相减 时 可能会由于运算结果超出了机器的表示范围 称之为溢出 而发生错误 例 假设机器字长为8位 计算符号数97 36 133解 97 补 01100001 36 补 0010010001100001 0010010010000101两个整数相加 由于正溢 出现错误 结果为负数 例 假设机器字长为8位 计算符号数 97 36 133解 97 补 10011111 36 补 1101110010011111 11011100101111011两个负数相加 由于下溢 出现错误 结果为正数 溢出判别 溢出判断可采取下述方法之一 采用一个符号位判断 采用最高有效位的进位判断 采用变形补码最后根据运算结果中的双符号的状态判断是否溢出 判断的规则是 00 结果为正 无溢出 01 结果出错 正溢出 10 结果出错 下溢出 11 结果为负 无溢出 溢出判别举例 例 假设机器字长为8位 计算符号数63 66 129采用双符号位补码运算 000111111 001000010010000001根据变形补码的溢出判断的规则是 01 结果出错 正溢出 例 假设机器字长为8位 计算符号数 63 66 129采用双符号位补码运算 111000001 110111110101111111根据变形补码的溢出判断的规则是 10 结果出错 下溢出 二进制数的逻辑运算 逻辑是指条件与结论之间的关系 因此 逻辑运算是指对因果关系进行分析的一种运算 运算结果并不表示数值大小 而是表示逻辑概念 即成立还是不成立 计算机的逻辑关系是一种二值逻辑 二值逻辑可以用二进制的1或0来表示 例如 1表示 成立 是 或 真 0表示 不成立 否 或 假 等 对两个逻辑数据进行运算时 每位之间相互独立 运算是按位进行的 不存在算术运算中的进位和借位 运算结果仍是逻辑数据 与运算 逻辑乘法 用来表达和推演与逻辑关系的运算称为与运算 与运算符常用 或AND表示 与运算法则 0 0 0 0 1 0 1 0 0 1 1 1例 求10111001 11110011 10111001 1111001110110001则10111001 11110011 10110001 或运算 逻辑加法 用来表达和推演或逻辑关系的运算称为或运算 或运算符常用 或OR表示 或运算法则 0 0 0 0 1 1 1 0 1 1 1 1例 求10100001 10011011 10100001 1001101110111011则10100001 10011011 10111011 非运算 逻辑否定 非运算实现逻辑否定 即进行求反运算 非运算符常在逻辑变量上面加一横线表示 非运算法则 0 1 1 0对某个二进制数进行非运算 就是对它的各位按位求反 例 求10111001 10111001 01000110 异或逻辑运算 半加运算 异或运算通常用符号 表示 其运算规则为 0 0 0 0 1 1 1 0 1 1 1 0即两个逻辑变量相异 输出才为1 二进制数进行异或运算是按位进行的 例 求10110101 11010001 10110101 1101000101100100则 10110101 11010001 01100100异或运算在计算机中经常用到 五 字符信息的表示 计算机处理的数据分为数值型和非数值型两类 数值型数据指数学中的代数值 具有量的含义 且有正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 盈利能力与风险管理策略的关系试题及答案
- 黑龙江省大庆市一中学2025届数学七下期末统考试题含解析
- 移动互联网企业的技术挑战试题及答案
- 2025年市场风险与机遇分析试题及答案
- 环保投资的财务考量计划
- 网络性能评估试题及答案解析
- 跨学科研讨会策划计划
- 软件技术员试题及答案创新指南
- 加强自我驱动的工作态度计划
- 财务模型与商业模式的协同试题及答案
- 形势与政策(2025春)超星尔雅学习通答案满分章节测试
- ISO28000:2022供应链安全管理体系
- 深圳市失业人员停止领取失业保险待遇申请表样表
- 心理契约的概念、维度及特点
- 年产1亿支盐酸普鲁卡因注射液实用工艺设计
- EMC_CX系列存储
- (完整版)围堰筑岛围堰施工专项方案
- 扣件式钢管脚手架检查评分表
- 高压喷射注浆工程施工工艺标准
- 最新部编版九年级语文下册课件(完美版)写作布局谋篇
- 装修公司客户回访方案及流程
评论
0/150
提交评论