计原与汇编2.ppt

上传人:本田雅阁 文档编号:2653325 上传时间:2019-04-30 格式:PPT 页数:39 大小:561.02KB
返回 下载 相关 举报
计原与汇编2.ppt_第1页
第1页 / 共39页
计原与汇编2.ppt_第2页
第2页 / 共39页
计原与汇编2.ppt_第3页
第3页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《计原与汇编2.ppt》由会员分享,可在线阅读,更多相关《计原与汇编2.ppt(39页珍藏版)》请在三一文库上搜索。

1、第二章 数据信息表示,计算机内部的信息分为:控制信息和数据信息。 控制信息:指令 数据信息: 数值数据:有确定的值,可表示大小(进位计数制、小数点、符号表示)。 非数值数据:无确定的值,分为逻辑数据、字符数据。,第一节 数值数据的表示,一、进位计数制及相互转换 (一)进位计数制 任意一个数 N = Nn-1 Nn-2 N0 N-1 N-2 N-m ,它的值 n-1 -m -m (N)R = Ni Ri + Ni Ri = Ni Ri i=0 i=-1 i=n-1 R为进位计数制的基数,Ri 是第i位的权;Ni 代表第i位上的一个数字符,可以是()符号中的任何一个。,1.将R进制的数转换为十进制

2、数,-m NiRi :将各位数字与它的权相乘,其积相加, i=n-1 和数就是十进制数。,例: (101.101)2 = 122 + 120 + 12-1 + 12-3 = (5.625)10,7 (25.7)8 = 2 81 + 5 80 + 7 8-1 = (21)10 8,3 (5A.C)16 = 5 161 + 10 160 + 12 16-1 = (90)10 4,按权相加法:,(二)进位数制之间的转换,2.将十进制数转换为R进制的数,(1)整数部分的转换(除基取余法) 将被转换的十进制数连续除以R取其余数,直到商等于0为止。每次所得余数即为R进制的数(第一次余数为低位)。,(二)进

3、位数制之间的转换,2 | 168 0 2 | 84 0 2 | 42 0 2 | 21 1 2 | 10 0 2 | 5 1 2 | 2 0 2 | 1 1 0,(低位) (高位),则:(168)10=(10101000)2,解:,例1: 将N = (168)10 转换成二进制数。,例2:将 N=(355)10 转换成八进制数。,8 | 355 3 8 | 44 4 8 | 5 5 0,(低位) (高位),解:,则 (355)10= (543)8,例3:将 N=(357)10 转换成十六进制数。,16 | 357 5 16 | 22 6 16 | 1 1 0,解:,(低位) (高位),则 (3

4、57)10= (165)16,(2)小数部分的转换(乘基取整法),将被转换的十进制数连续乘以R,取其整数,直到小数部分为0或达到要求的精度为止。(第一次整数为高位)。,(二)进位数制之间的转换,0. 3852 0. 772 1. 542 1. 082 0. 162 0. 322 0. 642 1. 28,(高位) (低位),解:,则:(0.385)10 = (0.0110001)2,例1 将 N = (0.385)10 转换成二进制小数,例2 将N = (0.385)10转换成八进制小数。,0 . 3858 3 . 088 0 . 648 5 . 12,(高位) (低位),则:(0.385)1

5、0 = (0.305)8,解:,以小数点为中心,向左右两边延伸。八进制按三位一组划分,十六进制按四位一组划分。,例如: (100101.101)2 = (45.5)8 = (25.A)16 (0.011000101)2 = (0.305)8 = (0.628)16,3.二进制与八、十六进制数之间的转换 (1)二进制数转换为八、十六进制数,(二)进位数制之间的转换,(2)八、十六进制数转换为二进制数 将每一位八(或十六)进制数用三位(或四位)二进制数代替即可。 例如: (45.5)8=(100101.101)2 (25.A)16=(00100101.1010)2,(二)进位数制之间的转换,定点小

6、数 定点表示法 小数点数 定点整数 浮点表示法,(一)定点表示法:小数点的位置固定不变。 1. 定点小数:小数点固定在有效数字的最左边,该数为一纯小数。 2. 定点整数:小数点固定在有效数字的最右边,该数为整数。,二、数的小数点表示,0N1-2-n 或 -(1-2-n)N1-2-n,定点整数的表数范围是:(n:不包括符号位) 0N2n-1 或 -(2n-1)N2n-1 定点整数也可视为无符号整数。n+1位无符号整数的表数范围是: 0N2n+1-1,定点小数的表数范围,若二进制位数为n(不包括符号位),则定点小数的 表数范围是:,258.69 = 10125.869 = 102 2.5869 =

7、 10-1 2586.9 = 10-2 25869 .,例:,对于任意数N, N = RE M = Re M E(Exponent)被称为浮点数的阶码,M(Mantissa)被称为浮点数的尾数,R(Radix)被称为阶的基数。,(二)浮点表示法,浮点数只需用一对定点数(阶码和尾数)来表示,1. 表数范围 设 l 和 n 分别表示阶码和尾数的位数(均不包括符号位),基数为2, 0N2(2l-1)(1-2-n) 或 -2(2l-1)(1-2-n)N2(2l-1)(1-2-n) 2.规格化浮点数 正数,规格化表示的尾数形式为 0.1xxx,(二)浮点表示法,补码表示的负数,规格化表示的尾数形式为,1

8、.0xxx 根据规格化尾数形式,当运算结果尾数出现00.0xxx 或 11.1xxx 时,需将尾数左移以实现规格化;尾数每左移一位(小数点位置不动)阶码减1,直至尾数的符号和最高位具有不同的代码达到规格化为止。,(二)浮点表示法,1.真值与机器数,真值:用正负号加绝对值表示的数值。 机器数:用约定数的某一位表示符号,连同数符一起数码化的数。,例: +1010 01010 -1010 11010,把符号位和数值位一起编码来表示相应数的各种编码方法原码、补码、反码和移码。 (一)三种编码方法的比较,三、数的符号表示,2.原码表示法, 原码表示形式:最高位表示符号; 符号位为0,该数为正; 符号位为

9、1,该数为负。,例:设机器字长共8位(含一位符号位)。 真值 x:1011,-1011,0.1011,-0.1011 原码x原: 0,0001011;1,0001011; 0.1011000;1.1011000, 原码表数范围,(1) n位整数N的表数范围(n为不包括符号位在内的整数): -(2n-1)N2n-1,(2) n位小数N的表数范围(n为小数的位数): -(1-2-n)N1-2-n,2.原码表示法, 补码的概念:2位十进制运算器 56-24=32; 56+76=132 100:是两位十进制运算器的溢出量,在数学上称之为模,用M或 mod表示。计算器中数受字长的限制,运算均是有模运算。

10、 所以56-24=56+76(mod 100) 即-24(相对模100)的补码是76。,3.补码表示法,补码定义:x补= M+X(mod M), 补码的表示形式:,定点整数:x补=Xn Xn-1 Xn-2 X1 X0 定点小数:x补=X0.X1 X2 Xn-1 Xn,(1) 从真值转换成补码表示: 正数:补码表示同原码。 例: 真值:+1011 原码:01011 补码:01011 负数:符号位为1,数值部分为真值的各位求反,末位加1。 例:真值:-1010 ; -0.1010 补码:10110; 1.0110,(2) 从补码求原码及真值,正数:原码与补码相同,真值为略去正号后的数值。 例:X补

11、=0010 X原=0010 真值 X=010=10,负数: 原码:符号位仍为1,数值部分为:把尾数各位求反,末位加1。 真值:将负数原码符号变为“-”,即得到真值。 例:X补=10110; X原=11010; 真值 X= -1010, 补码的表数范围:,(1) n位整数N的表数范围:(n为不包括符号位在内的整数) -2n N 2n -1,(2) n位小数N的表数范围:(n为小数的位数) -1 N 1-2-n,4.反码的表示法,正数:与原码相同。 例:X原=01010; X反=01010 负数:符号位同原码,尾数部分为原码的反码。 例: X原=11010;X反=10101 反码表数范围同原码。,

12、5.补码表示的浮点数,(1) 浮点数的表数范围: 阶码l位,尾数n位(均不含符号位、补码表示) (-1)2(2l-1)N2(2l-1)(1-2-n),最大正数 最小正数 最大负数 最小负数,最大正数: 22e -1*(1-2-m)= 2127*(1-2-23) 最小正数: 2-2e*2-m = 2-128*2-23 最大负数: -2-2e*2-m = -2-128*2-23 最小负数:(-1)* 22e-1 =-2127,0,整个浮点数的表数范围: -2127 N 2127* (1-2-23) -2 2e-1 N 2 2e-1* (1-2-m),例:阶码E=8位,M=24位 (均含一位符号位、

13、阶的基为2)。,(2) 浮点数的规格化表示(尾数的最高有效位与符号 位不相同),例:某浮点数长12位,阶码4位,尾数8位(均包括一位符号位,用补码表示),写出真值为(-101.011)2的规格化浮点代码(规格化机器数)。,(-101.011)2= -0.101011*2+3 尾数补码表示 1.0101010 阶码补码表示 0,011,补码表示 采用格式:,规格化浮点数代码: 即:1, 0011, 0101010,例:(同上题表示法) 写出浮点代码为0,0100,0101010的规格化浮点数。,解:小数点右移一位,阶码减1(末尾补0) 0,0011,1010100,上溢| 负浮点数 |下溢区|

14、正浮点数 | 上溢 区 | | 0 | | 区 -1*2 2e-1 -1/2*2 - 2e 1/2*2-2e 1*2 2e-1,若:阶码E=4 (e=3)位,尾数M=8 (m=7)位 规格化浮点数的表数范围,正数:( 1/2*2 -23N 1*2 23-1) 21,000*0.100 N 20,111*0.111 负数:( -1*2 23-1 N -1/2*2 - 23) 1.00* 20,111 N 21,000*1.100,(二)移码,例如 E = 7(包括一位符号位) e未偏置 -64 0 63 e偏置 0 64 127 1. 移码定义 如果阶码有n+1位(包括一位符号位),其阶码的表数

15、范围为-2n+(2n-1),则阶码x的移码定义为: x移 = 2n + x , -2nx 2n-1,2. 移码的性质,(1)移码为全0时,表示真值最小;移码为全 1时,表示真值最大。 (2)当x0时,x移的符号位(最高位)为0,当x0时,x移的符号位为1,移码符号与原、补码符号相反。 (3)x移与x补除符号位相反外,其他各位相同。因此由x补得到x移的方法是变 x 补的符号为其反码。 (4)在移码表示中,0有唯一的编码1000。,(5)x移等于全0时,表明阶码最小。,一个浮点数N =MRE,当尾数M=0时,不论其阶码为何值都有N=0。 当E-2n时,(M=0 or M0),我们称发生下溢,即数N

16、小于机器所能表示的最小数,一般以N=0处理。 为了保证唯一性,规定一个标准的浮点数零的表示形式,称为“机器0”,它具有0的尾数和最小阶码。阶码采用移码表示后,浮点数的“机器0”就是尾数和阶码全为0。,(三)实用浮点格式举例,IEEE754标准浮点格式 IEEE754标准在标识浮点数时,每个浮点数均由三个部分组成:符号位S,指数部分E和尾数部分M。 浮点数可采用以下四种基本格式: (1)单精度格式(32位):E=8位,M=23位。 (2)扩展单精度格式:E11位,M31位。 (3)双精度格式(64位):E=11位,M=52位。 (4)扩展双精度格式:E15位,M63位。,32位浮点单精度数据形式

17、,32位浮点单精度数据形式特点,IEEE754标准使0有了精确表示,同时也明确地表示了无穷大,所以,当a/0(a0)时得到结果值为;当0/0时得到结果值较小的数,为了避免下溢而损失精度,允许采用比最小规格化数还要小的数来表示,这些数称为非规格化数。应注意的是,非规格化数和正、负零的隐含位值不是1而是0。,IEEE754标准约定32位单精度形式在小数点左部有一位隐含位,从而使其有效位实际有24位,这样便使尾数的有效值变为1.M 。阶码部分采用移码表示,移码值为127,从而使阶码值的范围由原来的-126到+127,经移码后变为1到254。,解:1,10011001,0010110100000000

18、0000000 阶码真值 = 阶码-(127)10=(10011001)2-(127)10 =(153) 10 -(127) 10 =(26) 10 尾数真值= 1+0.00101101=(1.00101101)2 = (1.17578125)10 浮点数真值= -226 *(1.17578125)10,例1:若采用IEEE754浮点单精度格式,试求出32位浮点代码(CC968000)16 的真值。,例2:将(-0.11)2 用IEEE754浮点单精度格式表示出来。 解: (-0.11)2=-0.11*20=-1.1*2-1 = -(1+0.1)*2-1 阶码=阶码真值+127=-1+127=126 =(01111110)2 浮点代码为:1,01111110,100.0,第二节 非数值数据的表示,字符数据:ASCII码 一个字符:占一个字节单元。 多个字符:通常占用主存多个连续字节单元。 ASCII码主要用于主机与I/O设备之间交换信息。,一、字符表示,第二节 非数值数据的表示,二、汉字表示,三、校验码(奇偶校验码),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1