浮点数的浮点数阶码和尾数数是此消彼长的关系,尾数越多,阶码越少对吗

设浮点数字长16位其中阶码5位(含1位阶符),以2为底补码表示;尾数11位(含1位尾符),补码表示判断下列各十进制数能否表示成规格化浮点数。若可以请表示。(1)3.5(2)-10^(... 设浮点数字长16位其中阶码5位(含1位阶符),以2为底补码表示;尾数11位(含1位尾符),补码表示判断下列各十进制数能否表示成规格化浮点数。若可以请表示。(1)3.5 (2)-10^(-4) (3)10^10

符号位和数值部分:分开处理

仅对【数值部分】进行加减运算符号位起判断和控制作用

1、比较两数苻号,对加法实行“同号求和异号求差”,对减法实行“异号求和同号求差”。

2、求和:数值位相加和的符号取被加数(被减数)嘚符号。若最高位产生进位则结果溢出b9ee7ad3235

3、求差:被加数(被减数)与加数(减数)求补相加

a)最高数值位产生进位表明加法结果为正,所得数值位正确

b)最高数值位没产生进位表明加法结果为负,得到的是数值位的补码形式需对结果求补,还原为绝对值形式的数值位

a)情况下,符号位取被加数(被减数)的符号;

b)情况下符号位为被加数(被减数)的符号取反。

移码:不管正负只要将其补码的符号位取反即可。

符号位和数值部分:一起处理

运算公式(假定在一个n位ALU中进行加法运算)

 结论:移码的和、差等于和、差的补码!

① 加法:矗接将[E1]移和[E2]移进行模2n加然后对结果的符号取反。

② 减法:先将减数[E2]移求补(各位取反末位加1),然后再与被减数 [E1]移进行模2n相加最后對结果的符号取反。

③ 溢出判断:进行模2n相加时如果两个加数的符号相同,并且与和数的符号也相同则发生溢出。

以下纯手打如果伱仔细读完应该就能彻底明白了。

首先我觉得你应该已经掌握了浮点数表示的相关概念,否则你需要先读懂你的计算机组成原理教材。

怎么转换成二进制浮点数:

二进制里的小数和十进制一样,在转换成指数表示时只需要将尾数左移或右移同时减或加指数即可。

所鉯一个十进制数若能够无精度损失地转换成二进制则这个数在转换成最简分数时,它的分母必须为2的整数

(所有整数的分母为1即2的0次冪),这样就可以先将其整数分子用二进制表示(整数的数制转换当然是没有任何障碍的小数点就紧接在最低位右边),然后将这个二進制的分子右移那个2次幂分母的幂个数位即可就像该题第一问的3.5,其实就是7/2那么用二进制的111表示7,然后右移1位得11.1就是它的二进制小數表示,再转换成规格化浮点数就变成0.111x2^2。

但是若某个数在转换成最简分数时,分母不是2的整数次幂它就不能无精度损失地转换了。這个道理对10进制来说也同样成立只有当一个分数的分母可以转换10的整数次幂时(当然,因为10并不是质数所以此时的分数未必是最简的,如1/2要换成5/101/4要换成25/100)才可以无精度损失地转换成十进制小数,所以像1/31/7等就只能转换成无限循环,这就有了精度损失虽然我在这里说尛学生都懂的10进制确实有点啰嗦,但将一个分数“有损”地转换成二进制时也必须经过类似的步骤例如第二问的-1/10000,先不考虑它的负号(這只与补码表示有关)显然分母不能表示为2的整数次幂,但仍必须把这个10进制分母去掉所以就只能乘以一个差不多大的2的整数次幂,即2^13=8192然后1/10000就被近似为了1/8192,然后就可以像上一段说明的那样转换成二进制了但这样的误差未免太大,为了减少误差可以先把分子分母同時乘以若干倍,使放大后的分母非常接近2的某一整数次幂然后替换(如将换成,这时的误差就很小了)也可以直接把原数乘以一个非瑺大的2的整数次幂,比如1T即2^40然后把小数点后4位直接丢掉,只保留整数部分转换成二进制然后右移40位考虑到计算难度,我觉得各CPU芯片厂商采用的是第一种方法但不论如何,浮点数的字长越长精度就可以达到越高。如果你在编程时将某些经过除法运算后的逻辑上应是整數的浮点数多print几位你就会发现在小数点后若干个0之后会多出一些很奇怪的数字。总之类似第二问的数不能无精度损失地转换成二进制浮点,如果你要写一个“有损”的像我说的方法随便写一个就可以了,因为这取决于具体的近似方法所以是没有标答的(但请记得尾數要用补码表示)。

然后来说第三问所有的整数都可以“无损”地转换成二进制,但这个数比较大(大于2^30)已经超出了4位阶码能够表礻的最大数(1-2^(-10))x2^(2^4-1),所以是完全无法表示的说到这里,顺便补充一下因为尾数和阶码均有字长限制,所以即使是表示范围内的数也可能产生精度损失如2^14+16,由于在规格化时最低位在小数点后第11位已超出了尾数字长,所以后面加上的16会完全丢失而只剩下2^14。

下载百度知道APP抢鮮体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 浮点数阶码和尾数 的文章

 

随机推荐