我想檢查float是否實際上是32位或64位(以及numpy浮點數組的位數)。應該有一個內置的,但只是沒有發現...如何檢查python中的float大小?
回答
Python float
的大小可以通過sys.float_info
要求。儘管在許多不同的體系結構中,我從來沒有遇到過比64位更多的東西。
NumPy數組的項目可能具有不同的大小,但您可以通過a.itemsize
檢查它們的大小(字節數),其中a
是一個NumPy數組。
浮點值的範圍在sys.float_info
對象中可用。
正如Sven所說,對於CPython float
總是64位。但Python's language reference說
您是在底層的機器架構的憐憫(和C或Java實現),對接受的範圍內......「。
所以這不一定是其他情況Python實現
由於OP使用NumPy,所以他可能不太關心其他Python實現。好點,但。 :) –
numpy.finfo列表大小和FLOAT32 ...的其他屬性,包括
NEXP:。在指數位,包括它的符號和偏見的數量
nmant:數尾數位。
在一臺機器IEEE-754 標準浮點,
import numpy as np
for f in (np.float32, np.float64, float):
finfo = np.finfo(f)
print finfo.dtype, finfo.nexp, finfo.nmant
將打印例如
float32 8 23
float64 11 52
float64 11 52
(嘗試float16和float128了。)
加1位符號 – denfromufa
float16 \t半精度浮點數:符號位,5位指數,10位尾數; float32 \t單精度浮點數:符號位,8位指數,23位尾數; float64 \t雙精度浮點數:符號位,11位指數,52位尾數 – denfromufa
print numpy.finfo(numpy.float)
Machine parameters for float64
---------------------------------------------------------------------
precision= 15 resolution= 1.0000000000000001e-15
machep= -52 eps= 2.2204460492503131e-16
negep = -53 epsneg= 1.1102230246251565e-16
minexp= -1022 tiny= 2.2250738585072014e-308
maxexp= 1024 max= 1.7976931348623157e+308
nexp = 11 min= -max
---------------------------------------------------------------------
- 1. 在Python中,如何檢查StringIO對象的大小?
- 2. 如何檢查python中的文件大小?
- 3. 如何檢查Page.Cache的大小?
- 4. 如何檢查文件的大小?
- 5. Python | HTTP - 如何在下載之前檢查文件大小
- 6. 如何檢查上傳文件大小
- 7. 如何檢查文件大小?
- 8. 如何檢查圖像屬性(大小)?
- 9. 如何找出Ruby中Float的大小是多少?
- 10. 如何在C++中檢查最大文件大小上傳?
- 11. 如何檢查字符串大小是否大於其容器的大小?
- 12. EDM中的列大小檢查?
- 13. 檢查ocaml中的記錄大小?
- 14. 如何刪除SQL Server 2008中的區分大小寫檢查?
- 15. 如何檢查Node.js中文件的大小?
- 16. 如何檢查sqlite3中的緩存大小
- 17. 如何檢查java swing中的當前窗口大小?
- 18. 如何檢查rails中會話的大小?
- 19. 如何檢查SQL Server中索引視圖的大小?
- 20. 如何檢查輸入中輸入文本的大小? React-Native
- 21. 如何檢查Windows批處理腳本中文件的大小?
- 22. 如何在sql server08中檢查區分大小寫的密碼
- 23. 從float到float的有損轉換int檢查在java中
- 24. 如何檢查MySql的當前查詢包大小?
- 25. 模型大小檢查
- 26. 併發HashMap:檢查大小
- 27. Lucene檢查索引大小
- 28. SQL Server表大小檢查
- 29. NSFileManager - 檢查文件大小?
- 30. 如何檢查文件大小是否超過最大文件大小批量
sys.float_info包含了許多有趣的特性,但一個浮動的大小不是 –
@他們中的一個熊貓-34這取決於究竟你的意思「尺寸」。無論如何,這是您可以獲得的最佳信息。 (你可以很容易地從sys.float_info中的信息中恢復大小,但是我想知道它是如何有用的。) –
OP明白地詢問了32位或64位的大小,並且你無法恢復大小除非你想根據指數範圍和尾數長度做一些瘋狂的猜測 –