我想检查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位的大小,并且你无法恢复大小除非你想根据指数范围和尾数长度做一些疯狂的猜测 –