运算方法和运算器(1数据的表示方法)

上传人:我** 文档编号:117885134 上传时间:2019-12-11 格式:PPT 页数:40 大小:497KB
返回 下载 相关 举报
运算方法和运算器(1数据的表示方法)_第1页
第1页 / 共40页
运算方法和运算器(1数据的表示方法)_第2页
第2页 / 共40页
运算方法和运算器(1数据的表示方法)_第3页
第3页 / 共40页
运算方法和运算器(1数据的表示方法)_第4页
第4页 / 共40页
运算方法和运算器(1数据的表示方法)_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《运算方法和运算器(1数据的表示方法)》由会员分享,可在线阅读,更多相关《运算方法和运算器(1数据的表示方法)(40页珍藏版)》请在金锄头文库上搜索。

1、第二章 运算方法和运算器 *数据的表示方法 *定点和浮点加减运算 *定点乘运算 *定点除运算 *定点运算器的组成 第二章 运算方法和运算器 2.1 数据表示 2.1.1 概述 一、什么叫数据表示 是指能由计算机硬件直接识别的数据 类型,如定点数、浮点数等。而所谓“ 由硬件直接识别”意味着某种数据类型 可以用计算机硬件直接表示出来,并能 由计算机指令直接调用该数据类型。 二、数据的表示方法 n数值数据:能进行算术运算能得到明 确数值概念的数字数据。 n非数值数据:以数字数据形式进入计 算机的声音、图像、文字等信息。 2.1.2 数值数据的表示法 一、进位计数制(简称进制)及相互转换 1、进制的概

2、念 r进制: 有0,r-1 共 r 个单位数(unit) ; 逢 r 进一。 任何一个r进制数N可以表示为: 2.1.2 数值数据的表示法 若r=2,二进制数,各位的权是以2为底的幂; 若r=8,八进制数,各位的权是以8为底的幂,有 八个数码:0、1、2、3、4、5、6、7; 若r=10,十进制数,各位的权是以10为底的幂; 若r=16,是十六进制数,其各位的权是以16为底 的幂,有16个数码:0、1、2、3、4、5、6、7、8 、9、A、B、C、D、E、F。 为了明确表示一个数所采用的进位计数制,可以 该数的后面加上下标 (B)、(Q)、(D)、(H),分别 表示该数为二进制、八进制、十进制

3、和十六进制 2.1.2 数值数据的表示法 2、为什么计算机中采用二进制 (1)运算简单; (2)易于物理实现(容易找到合适的器件) ; (3)易于表示逻辑值的真与假(布尔代数) 。 2.1.2 数值数据的表示法 3、进制转换 r进制数转换为十进制数:各位按权展开求和 ; 例1 .分别把二进制数1011.01和十六进制数 F0.C用十进制表示 十进制数转换为r进制数:整数部分和小数部 分分别进行转换 十进制数转换为r进制数 整数部分的转换步骤: 把r写成十进制数; 将N除以r,记录商和余数,并用r进制表示余 数,这余数便是用r进制表示的数的最低位数 字; 把上次的商进行中所述除以r取余的运算,

4、用r进制表示余数;重复这种运算直到商为0, 这时的余数即为十进制数N用r进制表示时的最 高位数字。 例2. 把十进制数103用二进制表示 例3. 把十进制数506用十六进制表示 十进制数转换为r进制数 小数部分的转换步骤: 把r写成十进制数; 将N乘以r,记录积的整数部分和小数部分, 并用r进制表示整数部分,该整数即为转换后r 进制小数的最高位; 把上次积的小数部分进行中所述乘以r取整 的运算,用r进制表示积的整数部分;重复这 种运算直到积的小数部分为0,或者达到所要 求的位数,这时的整数部分即为十进制数N转 换成r进制小数的最低位。 例4. 把十进制0.8125用八进制表示 二进制与八进制、

5、 十六进制的相互转换 从二进制转换成十六进制时,从小数点位置开始 ,整数部分向左,小数部分向右,每四位二进 制数为一组用一位十六进制的数字来表示,不 足四位的用0补足,就是相应十六进制的表示 。 从二进制转换成八进制时,从小数点位置开始, 整数部分向左,小数部分向右,每三位二进制 数为一组用一位八进制的数字来表示,不足三 位的用0补足,就是相应八进制的表示。 例5. 把二进制11011010111.11101用十六进制表示 例6. 把八进制数62.31用二进制表示 2.1.2 数值数据的表示法 二、数的机器码表示 (一)符号数、机器数、真值 1、真 值:带有正、负号的数据; 2、机器数:符号位

6、数值化了的数; (因为计算机只认识0和1,不认识 + 和 - ) 例:1101若为原码机器数,则其真值为 5或 - 101,后者往往也叫符号数。 二、数的机器码表示 (二)定点数与浮点数 1、定点数(Fix-Point Number) (1)含义:定点、浮点的“点”都指二 进制数中的小数点。定点指小数点位置 固定。 (2)常见的两种定点数: n定点整数(Integer) n定点小数(Fraction) 1、定点数 符号位 数值部分 小数点位置小数点位置 小数点位置小数点位置 符号位 数值部分 n注意小数点均为隐含表示。 定点整数(Integer):小数点固定于最低位右边 Dn-1Dn-2D0

7、定点小数(Fraction):小数点固定于最高有效位左边 Dn-1Dn-2D0 (3)定点数常见的机器码编码形式 n定点、浮点表示解决的是小数点的表示方法; 而编码解决的是符号位如何数值化的问题。 n但编码后会对运算带来什么样的影响?于是先 后使用了符号位编码时数值位不变、符号位编 码时数值位按一定规律变化的几种不同的编码 方法。这就是应该了解的原码、反码、补码、 移码等编码方案。数X的原码记作X原,反码 记作X反,补码记作X补。 定点整数-原码 定义:对于一个二进制数而言,若用最高位表示数的符号(常 以0表示正数,以1表示负数),其余各位表示数值的本身, 则称为该二进制数的原码表示法。 (1

8、)设某二进制数为X = + Xn-2Xn-3.X1X0B ,即为正数 则:X原 = 0Xn-2Xn-3.X1X0B = X 注意:+0原 = 00.00B(共n位)= 0 (2)设某二进制数为X = - Xn-2Xn-3.X1X0B ,即为负数 则:X原 = 1Xn-2Xn-3.X1X0B = 100.00B + Xn-2Xn-3.X1X0B = 2n-1 - X 注意:-0原 = 10.00B(共n位) 数的表示范围: -2n-1+1X2n-1-1 则原码表示的定义是: x 2n-1 x = 2n-1 + |x|-2n-1+1 x 0 0 x 2n-1-1 x原 = 定点整数-反码 定义:正

9、数反码与原码相同。负数反码等于其原码符号位不变 其余位取反。 (1)设某二进制数为X = + Xn-2Xn-3.X1X0B,即为正数 则:X反 = X原 = 0Xn-2Xn-3.X1X0B = X 注意:+0反 = +0原 = 00.00B(共n位)= 0 (2)设某二进制数为X = - Xn-2Xn-3.X1X0B ,即为负数 则:X反+ |X| = 2n - 1 所以X反 = 2n - 1 + X 注意:-0反 = 11.11B(共n位) 反码数的表示范围: -2n-1+1X2n-1-1 x (2n 1) + x -2n-1+1 x 0 0 x 2n-1-1 x反 = 反码表示的定义是:

10、概念 对时: (假设对为1时) 一是将时针退 10-9=1 ; 一是将时针向前拨 10+3=1 这两种方法都能对准到1时。 结论:负数用补码表示时, 可以把减法转化为加法。 定点整数-补码 由此可以看出,减9和加3是等价的,就是说3是(-9)对 12的补码,可以用数学公式表示: -9+3 (mod 12) 模的概念 计算机中运算器、寄存器、计数器都有一定的位 数,不可能容纳无限大的任意数。当运算结果超出实 际的最大表示范围,就会发生溢出,此时所产生的溢 出量就是模(module)。 定点小数的溢出量为2,即以2为模; 一个字长为n位的定点整数的溢出量为2n,即 以2n为模。 定点整数-补码 定

11、义:假定某机器的字长为n位,那么它的模就是2n,它是一 个n+1位数100.0B,由于计算机只能表示n位数,因此数2n 在计算机中只能以n个零表示,而该数最左边的1自动丢失 。由以上例子及讨论所得:X补 2n X n对于正数X,X补 X原 X反 = X n对于负数X,X补 2nX 0|X| n对于0:0补 2n0 0+0 0 对于0:0补 2n(0) 00 0 总结:已经解决了正负零问题(归一化)。 数的表示范围:-2n-1X2n-1-1 x 2n + x = 2n |x| -2n-1 x 0 0 x 2n-1-1 x补 = (mod 2n) 补码表示的定义是: 例 以定点整数为例, 说明各种

12、编码表示的范围。 真值真值原码反码补码移码 +127 +1 +0 0 -1 -127 -128 +0111,1111 +0000,0001 0000,0000 0000,0000 -0000,0001 -0111,1111 -1000,0000 0111,1111 0000,0001 0000,0000 1000,0000 1000,0001 1111,1111 不能表示 0111,1111 0000,0001 0000,0000 1111,1111 1111,1110 1000,0000 不能表示 0111,1111 0000,0001 0000,0000 0000,0000 1111,11

13、11 1000,0001 1000,0000 1111,1111 1000,0001 1000,0000 1000,0000 0111,1111 0000,0001 0000,0000 定点小数-原码 Ns N1 N2 Nn 定义: X 原 = n例:X = 0.10110 ; -0.10110 ; 0.0000 X 原 = 010110 ; 110110 ; 00000 10000 n结论:原码为符号位加数的绝对值,0正1负 原码零有两个编码,+0和 -0编码不同 原码难以用于加减运算,但乘除方便 X 1 - X -1 X 0 0 X1 定点小数-反码Ns N1 N2 Nn 定义: X 反=

14、 n 例:X = 0.10110 ;-0.10110 ;0.0000 X 反 = 010110 ; 101001 ; 00000 11111 n结论:反码为符号位跟数每一位的反,0正 1 负 反码零有二个编码,分+0 和 -0 反码难以用于加减运算 X (2-2-n) + X -1 X 0 0 X1 定点小数-补码Ns N1 N2 Nn 定义: X 补 = n例:X = 0.10110 ;-0.10110 ;0.0000 X 补 = 010110 ;101010 ;00000 结论:补码最高一位是符号位,0正 1负 补码表示为 2*符号位 + 数的真值 补码零只有一个编码,故能表示 -1 补码

15、能很好地用于加减(乘除)运算 X 2 + X -1X0 MOD 2 0X1 (3)定点数常见的机器码编码形式 例:X = - 0.101101, Y=+101101 X原=1.101101, Y原=0101101 X反=1.010010, Y反=0101101 X补=1.010011, Y补=0101101 三种编码方案简要比较: 正数相同,负数有别。补码中“0”有唯一的机器表示 ;补码的最大优点在于其符号位可以与数值位共同参 与运算而易于得到正确的补码结果。移码我们放在浮 点数的内容中去了解。 (4)定点数的表示范围 表示数的范围非常有限 - 引入浮点数 2、浮点数 (1)浮点数的一般形式 nN=(R 的E次幂)x M 其中,N:要表

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

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

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