计算机组成原理机器数的定点与浮点、非数值数据的编码表示和数据校验码 (1)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• --------在取回这样的浮点数到运算器执行运算时,必须先恢 复该隐藏位。
13:41
7
§2.3 机器数的定点与浮点表示
4. 浮点数的表示范围(阶码用移码表示,尾数用补码表示)
Es,E1 … Em ; Ms . M1 … Mn
超出此范围,溢出。 下溢:小于最小值—机器0,机器继续运行 上溢:大于最大值 浮点数尾数为0,不论阶码为何值—机器0。
13:41
11
§2.3 机器数的定点与浮点表示
2)精度 所谓精度是指一个数所含有效数值位的位数。 一般来说机器字长越长,它所表示的数的有效位数就越多, 精度就越高:对于字长相同的定点数与浮点数来说,浮点 数虽然扩大了数的表示范围,但这正是以损失精度为代价 的,也就是数轴上各点的排列更稀疏了。
13:41
N = JE × M
1. 基本格式
阶符 阶值 尾符 尾数值
阶码(Exponent)
13:41
尾数(Mantissa)
3
浮点数表示:Es,E1 … Em ; Ms . M1 … Mn
§2.3 机器数的定点与浮点表示
浮点数表示:Es,E1 … Em ; Ms . M1 … Mn Ms:数的符号位 ,用0表示正数,用1表示负数 M:浮点数的尾数部分,用定点小数形式表示 E:浮点数的阶码部分,为整数,用移码表示 尾数:有效数字的精度(n位) 阶码:数的表示范 围(m位) • 要保证浮点数既有足够大的数值范围,又有所 要求的精度,就要合理选择m,n
13:41 4
§2.3 机器数的定点与浮点表示
1011.1101B=0.10111101 ×2100 =0.0010111101 ×2110 =101111.01 ×2-10 [1011.1101] 原=0,100;0.10111101 =0,110;0.0010111101 =… 问题:若不对浮点数作约束,则同一数据的编码表示 不唯一
12
§2.3 机器数的定点与浮点表示
3)数的运算 浮点数包括阶码和尾数两部分,运算时不仅要做尾 数的运算,还要做阶码的运算,而且运算结果要求规格 化。因此浮点运算要比定点运算复杂。 4)溢出处理 在定点运算时,当运算结果超出数的表示范围,就 叫做溢出。而在浮点运算时,运算结果仅尾数超出数的 表示范围都不一定溢出,只有当阶码超出所能表示的范 围时,才发生溢出。
§2.3 机器数的定点与浮点表示
13:41
1
§2.3 机器数的定点与浮点表示
一、定点表示
1. 定点数:小数点位置隐含地固定
定点小数
Xs X1…………..Xn
原码表示数据的范围是: -(1-2-n)≤ x≤1-2-n 补码表示数据的范围是: –1≤x≤1-2-n 定点整数
·
Xs X1…………..Xn
13:41 8
§2.3 机器数的定点与浮点表示
4.浮点数的表示范围
尾数部分给出有效数字的位数,决定了浮点数的表示 精度,尾数占的位数越大,浮点数的表示精度就越高; 阶码部分指明小数点在数据中的位置,决定了浮点 数的表示范围,阶码占的位数越大,浮点数的表示范围 就越大; 通常希望数据表示的范围越大越好、精度越高越好, 但是由于计算机的存储字长是一定的,不能两者兼顾。
解决:浮点数的规格化
13:41 5
§2.3 机器数的定点与浮点表示
2. 浮点数的规格化
当尾数的值不为0时,其绝对值应大于等于0.5,即|M|≥0.5。 而尾数又为定点小数,即|M|<1,故0.5≤|M|<1。 如:[1011.1101] 原=0,100;0.10111101为规格化浮点数 而[1011.1101] 原=0,110;0.0010111101非规格化 ------必须通过左移尾数并同时修改阶码使其变为规格化的浮点 数,这种操作被称为浮点数的规格化处理。 要满足0.5≤|M|<1, 原码表示:尾数最高位为1,即Ms.M1 =0.1或 Ms.M1 =1.1 补码表示:正数:尾数最高位为1,即Ms.M1 =0.1 负数:尾数最高位为0,即Ms.M1 =1.0
13:41
9
§2.3 机器数的定点与浮点表示
尾数基数对规格化浮点数特性的影响
改变尾数的基数J,对规格化浮点数的特征有以下几个方 面的影响: ①可表示数的范围。随着基数的增大,可表示数的范围增大; ②可表示数的个数。随着基数的增大,可表示数的个数增加; ③数在数轴上的分布。基数越大,数在数轴上的分布密度越 稀疏。
符号位与第一数值位相异
13:41 6
§2.3 机器数的定点与浮点表示
3. 浮点数的隐藏位技术
• 规格化的浮点数中的尾数不为0时,其最高位必为1(正数), 所以在将这样的浮点数写入内存或磁盘时,不必给出该位, 可左移一位去掉它,这种处理技术称为隐藏位技术。 • 目的:用同样多的位能多保存一位二进制位。
13:41
13
§2.3 机器数的定点与浮点表示Baidu Nhomakorabea
四、 定点数和浮点数举例 1、定点数 例1: 机器字长8位,写出-3D的定点表示 [-3D]原=1,0000011 [-3D]反=1,1111100 [-3D]补= 1,1111101 [+3D]原= [+3D]反=[+3D]补= 0,0000011
13:41
10
§2.3 机器数的定点与浮点表示
三、 定点数和浮点数比较
定点数据表示简单,省硬件;浮点数据表示较麻烦, 价格较贵。从以下几个方面来比较它们性能上的主要差距。 1)数值的表示范围 假设定点数和浮点数的字长相同,浮点表示法所能表示的 数值范围将远远大于定点表示法,但是此范围指的只是数 的上下限,它们之间是一些不连续的点,而不是—段连续 的区间。 对于定点数而言,各个点在数轴上的分布是均匀的; 而对于浮点数而言,各个点在数轴上的分布是不均匀的。 越靠近数轴的原点,两个相邻的浮点数之间的距离就越近。
·
原码表示范围: -(2n -1) ≤X ≤2n -1 补码表示范围: -2n ≤X ≤2n -1
超出表示范围—溢出 上溢:大于最大值—溢出
13:41
下溢:小于最小值—机器0(其值趋于零)
2
§2.3 机器数的定点与浮点表示
二、浮点表示(小数点位置不固定)
1999=1.999 ×103 =199.9 ×101 =19.99 ×102 1011.1101B=0.10111101 ×2100 =0.0010111101 ×2110 =10111.101 ×2-1
相关文档
最新文档