当前位置: 首页 > 知识库问答 >
问题:

如何根据位数计算精度的小数位数?

长孙高远
2023-03-14

我正在学习浮点格式(IEEE)。在单精度浮点格式中,提到尾数有24位,因此它具有6 1/2十进制数字的精度(根据书中“理解机器”),以及7.22十进制数字的精度。

我不明白精度的小数位数是怎么算出来的。有人能告诉我吗?

共有1个答案

郭凡
2023-03-14

对于24位,假设为符号保留一位,那么您可以表示的最大十进制数是2^23-1=8388607。也就是说,您可以获得6位数字,有时是7位。这通常表示为“6 1/2位”。如果24位代表一个无符号数,那么您可以存储的最大值是2^24-1=16,777,215,或7和一个小数位数。

当有人给你报一个有明确小数位数的数字时,比如7.22,他们是在取最大值的对数(以10为底)。所以log(16777115)=7.22。

通常,从给定位数中获得的十进制位数为:

d=log[base 10](2^b)

其中b是位数,d是十进制位数。然后:

d=b * log(2)
d~=b * .3010

因此,24位表示24*.3010=7.224

 类似资料:
  • 本文向大家介绍java精度计算代码 java指定精确小数位,包括了java精度计算代码 java指定精确小数位的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java指定精确小数位的具体代码,供大家参考,具体内容如下 java代码: 控制台: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍jquery精度计算代码 jquery指定精确小数位,包括了jquery精度计算代码 jquery指定精确小数位的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jquery指定精确小数位的具体代码,供大家参考,具体内容如下 页面显示: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我正在尝试在旁边使用值方法。 不幸的是,编译器说不兼容的类型。 如果我将s更改为s,它仍然不喜欢它。

  • 我必须用泰勒级数计算 sin(x),直到输出有 6 位小数。论点是一个角度。我没有实现检查小数位,我只是打印下一个值(以检查它是否有效),但是经过 10-20 次迭代后,它显示无穷大/NaN。 我的想法有什么问题? 等式:

  • 问题内容: 我正在尝试计算由文本字段接收的输入填充的数组的总数,均值和中位数。我设法算出了总数和均值,但我只是无法获得中位数。我认为在执行此操作之前需要对数组进行排序,但是我不确定如何执行此操作。这是问题吗,还是我没有找到另一个问题?这是我的代码: 问题答案: Java中的Arrays类具有静态的排序功能,您可以使用调用该功能。

  • 我试图计算由TextField接收的输入填充的数组的总数、平均值和中位数。我已经算出了总数和平均数,但中位数无法计算出来。我认为在我可以这样做之前需要对数组进行排序,但我不确定如何这样做。是这个问题,还是还有一个我没有找到的?下面是我的代码: