为什么numpy的float128只有63位尾数?

为什么numpy的float128只有63位尾数?,第1张

概述这个问题已经在这里有了答案:            >            What is the internal precision of numpy.float128?                                    2个我确定这是一个愚蠢的问题,但我确实感到困惑:>>> import numpy as

这个问题已经在这里有了答案:            >            What is the internal precision of numpy.float128?                                    2个
我确定这是一个愚蠢的问题,但我确实感到困惑:

>>> import numpy as np>>> >>> f1,f2,f64 = map(np.float128,(1,2,-64))>>> f1 + f2**f64 == f1True

或更直接地:

>>> np.finfo(np.float128).nmant63

指数似乎有15位,那么所有那些缺失的位在哪里?最佳答案阅读the docs:

np.longdouble is padded to the system default; np.float96 and
np.float128 are provIDed for users who want specific padding. In spite
of the names,np.float96 and np.float128 provIDe only as much
precision as np.longdouble,that is,80 bits on most x86 machines and
64 bits in standard windows builds.

因此看来它实际上并不会使用所有这些位.我想,如果我们假设在x86架构上有80位(我也有),它不会考虑缺少的两位,即15 63 = 78. 总结

以上是内存溢出为你收集整理的为什么numpy的float128只有63位尾数? 全部内容,希望文章能够帮你解决为什么numpy的float128只有63位尾数? 所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1199594.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存