计算机组成与结构课件教学作者王爱英 第3章

上传人:f****u 文档编号:128881426 上传时间:2020-04-21 格式:PPT 页数:164 大小:844KB
返回 下载 相关 举报
计算机组成与结构课件教学作者王爱英 第3章_第1页
第1页 / 共164页
计算机组成与结构课件教学作者王爱英 第3章_第2页
第2页 / 共164页
计算机组成与结构课件教学作者王爱英 第3章_第3页
第3页 / 共164页
计算机组成与结构课件教学作者王爱英 第3章_第4页
第4页 / 共164页
计算机组成与结构课件教学作者王爱英 第3章_第5页
第5页 / 共164页
点击查看更多>>
资源描述

《计算机组成与结构课件教学作者王爱英 第3章》由会员分享,可在线阅读,更多相关《计算机组成与结构课件教学作者王爱英 第3章(164页珍藏版)》请在金锄头文库上搜索。

1、第3章运算方法和运算部件 3 1数值的表示方法和转换3 2带符号的二进制数据在计算机中的表示方法及加减法运算3 3二进制乘法运算3 4二进制除法运算3 5浮点的运算方法 3 6运算部件3 7数据校验码习题 3 1数据的表示方法和转换3 1 1数值型数据的表示和转换1 数制日常生活中 人们广泛使用十进制数 任意一个十进制数 N 10可表示为 N 10 Dm 10m Dm 1 10m 1 D1 101 D0 100 D 1 10 1 D 2 10 2 D k 10 k Di 10i 3 1 其中 N 10的下标10表示十进制 该数共有m k 1位 且m和k为正整数 Di可以是0 9十个数码中的任意

2、一个 根据Di在式中所处位置而赋以一个固定的单位值10i 称之为权 Weight 式中的10称为基数或 底 在计算机中 十进制数的存储和运算都不太方便 于是二进制记数制应运而生 任意一个二进制数可表示为 N 2 Dm 2m Dm 1 2m 1 D1 21 D0 20 D 1 2 1 D 2 2 2 D k 2 k Di 2i 3 2 式中 整数部分有m 1位 小数部分有k位 基数 或底 为2 二进制数 N 2按公式展开 可计算得该数的十进制表示 例3 1 1101 0101 2 1 23 1 22 0 21 1 20 0 2 1 1 2 2 0 2 3 1 2 4 10 8 4 0 1 0 0

3、 25 0 0 0625 10 13 3125 10然而对人来说 二进制数无论是书写或阅读均很不方便 为此经常采用八进制数或十六进制数 任意一个八进制数可表示为 N 8 Di 8i 3 3 式3 3中Di可为0 7八个数码中的任意一个 例3 2 15 24 8 1 81 5 80 2 8 1 4 8 2 10 8 5 0 25 0 0625 10 13 3125 10任意一个十六进制数可表示为 N 16 Di 16i 3 4 式3 4中 Di可以是0 15共十六个数中的任一个 为书写和辨认方便 通常用0 9和A F分别表示十六进制数0 9和10 15 例3 3 0D 5 0 161 13 16

4、0 5 16 1 10 0 13 0 3125 10 13 3125 10 二进制数 八进制数 十六进制数和十进制数之间的关系见表3 1 表3 1二 八 十六和十进制数的对应关系 2 不同数制间的数据转换 1 二进制数 八进制数和十六进制数之间的转换八进制数和十六进制数是从二进制数演变而来的 由3位二进制数组成1位八进制数 4位二进制数组成1位十六进制数 对于一个兼有整数和小数部分的数 以小数点为界 对小数点前后的数分别分组进行处理 不足的位数用0补足 对整数部分将0补在数的左侧 对小数部分将0补在数的右侧 这样数值不会发生差错 假如从二进制数转换到八进制数 则以3位为1组 用下划线表示 例3

5、 4 1101 0101 2 001101 010100 2 15 24 8如从二进制数转换到十六进制数 则以4位为1组 例3 5 11101 0101 2 00011101 0101 2 1D 5 16从八进制数或十六进制数转换到二进制数 只要顺序将每一位数写成3位或4位即可 例3 6 15 24 8 001101 010100 2 1101 0101 2八进制数与十六进制数之间的转换 可将二进制数作为中间媒介进行转换 2 二进制数转换成十进制数利用上面讲到的公式 N 2 Di 2i进行计算 3 十进制数转换成二进制数通常要对一个数的整数部分和小数部分分别进行处理 各自得出结果后再合并 对整

6、数部分 一般采用除2取余数法 规则如下 将十进制数除以2 所得余数 0或1 即为对应二进制数最低位的值 然后对上次所得的商除以2 所得余数即为二进制数次低位的值 如此进行下去 直到商等于0为止 最后得出的余数是所求二进制数最高位的值 例3 7将 105 10转换成二进制 2105余数结果2521最低位22602130 26123021101最高位得出 105 10 1101001 2 对小数部分 一般用乘2取整数法 其规则如下 将十进制数乘以2 所得乘积的整数部分即为对应二进制小数最高位的值 然后对所余的小数部分乘以2 所得乘积的整数部分为次高位的值 如此进行下去 直到乘积的小数部分为0 或结

7、果已满足所需精度要求为止 例3 8将 0 3125 10和 0 3128 10转换成二进制数 要求4位有效位 结果0 3125 2最高位0 6250 2 1 2500 20 5000 2最低位1 0000得出 0 3125 10 0 0101 2 结果0 3128 2最高位06256 2 12512 205024 2最低位10048得出 0 3128 10 0 0101 2 当一个数既有整数部分又有小数部分时 分别进行转换后再进行拼接 如有数 105 3125 10 则根据前面的计算 得出 105 3125 10 1101001 0101 2 4 十进制数转换成八进制数参照十进制数转换成二进制

8、数的方法 将基数2改为8 即可实现转换 例3 9将 13 3125 10转换成八进制数 处理过程如下 整数部分转换813余数81501 13 10 15 8得出 13 3125 10 15 24 8小数部分转换0 3125 82 5000 84 0000 0 3125 10 0 24 8 3 数据符号的表示数据的数值通常以正 负 号后跟绝对值来表示 称之为 真值 在计算机中正负号也需要数字化 一般用0表示正号 1表示负号 正号有时可省略 3 1 2十进制数的编码与运算1 十进制数位的编码与运算在计算机中采用4位二进制码对每个十进制数位进行编码 1 有权码表示一位十进制数的二进制码的每一位有确定

9、的权 一般用8421码 其4个二进制码的权从高到低分别为8 4 2和1 用0000 0001 1001分别表示0 1 9 每个数位内部满足二进制规则 而数位之间满足十进制规则 故称这种编码为 以二进制编码的十进制 binarycodeddecimal 简称BCD 码 在计算机内部实现BCD码算术运算 要对运算结果进行修正 对加法运算的修正规则是 如果两个一位BCD码相加之和小于或等于 1001 2 即 9 10 不需要修正 如相加之和大于或等于 10 10 要进行加6修正 并向高位进位 进位可以在首次相加 例3 10 或修正时 例3 10 产生 例3 10 1 8 90001 10001001

10、不需要修正 4 9 130100 10011101 0110修正10011进位 另外几种有权码 如2421 5211 4311码 见表3 2 也是用4位二进制码表示一个十进制数位 但4位二进制码之间不符合二进制规则 这几种有权码有一特点 即任何两个相加之和等于 9 10的二进制码互为反码 例如 在2421码中 0 0000 与9 1111 1 0001 与8 1110 互为反码 表3 24位有权码 2 无权码表示一个十进制数位的二进制码的每一位没有确定的权 用得较多的是余3码 Excess 3Code 和格雷码 GrayCode 格雷码又称 循环码 余3码是在8421码基础上 把每个编码都加上

11、0011而形成的 见表3 3 其运算规则是 当两个余3码相加不产生进位时 应从结果中减去0011 产生进位时 应将进位信号送入高位 本位加0011 例3 11 28 10 55 10 83 10 表3 34位无权码 01011011 28 10 100011000 55 1011100011低位向高位产生进位 高位不产生进位 0011 0011低位 3 高位 3 10110110格雷码的编码规则 任何两个相邻编码只有一个二进制位不同 而其余三个二进制位相同 其优点是从一个编码变到下一个相邻编码时 只有1位发生变化 用它构成计数器时可得到更好的译码波形 格雷码的编码方案有多种 表3 3给出两组常

12、用的编码值 2 数字串在计算机内的表示与存储主要有两种形式 1 字符形式 即一个字节存放一个十进制数位或符号位 存放的是0 9十个数字和正负号的ASCII编码值 2 压缩的十进制数形式 用一个字节存放两个十进制数位 既节省了存储空间 又便于完成十进制数的算术运算 其值用BCD码或ASCII码的低4位表示 符号位也占半个字节并放在最低数字位之后 其值可从4位二进制码中的6种冗余状态中选用 3 2带符号的二进制数据在计算机中的表示方法及加减法运算在计算机中表示的带符号的二进制数称为 机器数 机器数有三种表示方式 原码 补码和反码 为讨论方便 先假设机器数为小数 符号位放在最左面 小数点置于符号位与

13、数值之间 数的真值用X表示 3 2 1原码 补码 反码及其加减法运算1 原码表示法机器数的最高位为符号位 0表示正数 1表示负数 数值跟随其后 并以绝对值形式给出 这是与真值最接近的一种表示形式 原码的定义 X 原 X0 X 11 X 1 X 1 X 0 3 5 即 X 原 符号位 X 例3 12X 0 1011 X 原 01011 X 0 1011 X 原 11011 由于小数点位置已默认在符号位之后 书写时将其省略了 根据定义 当X 0 1011时 X 原 1 0 1011 1 1011 数值零的真值有 0和 0两种表示形式 X 原也有两种表示形式 0 原 00000 0 原 10000

14、数的原码与真值之间的关系比较简单 其算术运算规则与大家已经熟悉的十进制运算规则类似 当运算结果不超出机器能表示的范围时 运算结果仍以原码表示 它的最大缺点是在机器中进行加减法运算时比较复杂 例如 当两数相加时 先要判别两数的符号 如果两数是同号 则相加 两数是异号 则相减 而进行减法运算又要先比较两数绝对值的大小 再用大绝对值减去小绝对值 最后还要确定运算结果的正负号 下面介绍的用补码表示的数在进行加减法运算时可避免这些缺点 2 补码表示法机器数的最高位为符号位 0表示正数 1表示负数 其定义如下 X 补 X0 X 12 X 2 X 1 X 0 3 6 即 X 补 2 符号位 X mod2 此

15、处2为十进制数 即为二进制的10 例3 13X 0 1011 则 X 补 0 1011X 0 1011 则 X 补 2 X 2 0 1011 1 0101数值零的补码表示形式是唯一的 即 0 补 0 补 0 0000 这可根据补码定义计算如下 当X 0 0000时 X 补 0 0000 当X 0 0000时 X 补 2 X 10 0000 0 0000 10 0000 0 0000mod2当补码加法运算的结果不超出机器范围时 可得出以下重要结论 1 用补码表示的两数进行加法运算 其结果仍为补码 2 X Y 补 X 补 Y 补 3 符号位与数值位一样参与运算 例3 14设X 0 1010 Y 0

16、 0101 两数均为正数 X Y 补 0 1010 0 0101 补 0 1111 补 0 1111 X 补 Y 补 0 1010 0 0101 0 1111即 X Y 补 X 补 Y 补 0 1111例3 15设X 0 1010 Y 0 0101 X为正 Y为负 X Y 补 0 1010 0 0101 补 0 0101 X 补 Y 补 0 1010 0 0101 补 0 1010 2 0 0101 2 0 0101 0 0101mod2即 X Y 补 X 补 Y 补 0 0101 例3 16设X 0 1010 Y 0 0101 X为负 Y为正 X Y 补 0 1010 0 0101 补 0 0101 补 1 1011 X 补 Y 补 0 1010 补 0 0101 补 1 0110 0 0101 1 1011即 X Y 补 X 补 Y 补 1 1011例3 17设X 0 1010 Y 0 0101 X Y均为负数 X Y 补 0 1010 0 0101 补 0 1111 补 1 0001 X 补 Y 补 1 0110 1 1011 10 1 0001 1 0001mod2即 X Y

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号