python float 精度_numpy.float128的内部精度是多少?
numpy.longdouble指的是C編譯器調用的任何類型long double。當前,這是numpy支持的唯一擴展精度浮點類型。
在x86-32和x86-64上,這是一種80位浮點類型。在更特殊的系統上,可能還有別的東西(在Sparc上的IIRC是實際的128位IEEE浮點數,在PPC上是double-double)。(這也可能取決于您所使用的操作系統和編譯器,例如Windows上的MSVC根本不支持任何擴展精度。)
Numpy還將導出一些名稱,例如numpy.float96或numpy.float128。導出這些名稱中的哪一個取決于您的平臺/編譯器,但是無論您得到什么,總是引用與相同的基礎類型longdouble。而且,這些名稱極易引起誤解。它們不表示96位或128位IEEE浮點格式。相反,它們指示基礎類型使用的對齊位數long double。因此,例如在x86-32上long double為80位,但為了保持32位對齊而被填充多達96位,并且numpy將其稱為float96。在x86-64上,它long double仍然是相同的80位類型,但現在它被填充至128位以保持64位對齊,并且numpy將此稱為float128。沒有額外的精度,只有額外的填充。
建議:忽略float96/ float128名稱,只需使用即可numpy.longdouble?;蛘?#xff0c;除非您有真正令人信服的理由,否則最好堅持加倍。它們將更快,更便攜等。
總結
以上是生活随笔為你收集整理的python float 精度_numpy.float128的内部精度是多少?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: anaconda下载太慢怎么办_BBTI
- 下一篇: vue的学习(常用功能)