繁体   English   中英

float64 和 float() 的区别

[英]Difference float64 and float()

Python:假设我有变量 PCA1 = 1.6453427413808863

当我调用变量时,我收到以下 output:1.645343 名称:PCA1,dtype:float64

当我调用这样的 float(PCA1) 变量时,我收到以下 output:PCA1 = 1.6453427413808863

愚蠢的问题,但有人可以解释我的区别以及为什么我只能用后者进行某些计算吗?

谢谢!

float32 是一个 32 位数字 - float64 使用 64 位。

这意味着 float64 占用了两倍的 memory - 在某些机器架构中对它们进行操作可能会慢很多。

但是,float64 可以比 32 位浮点数更准确地表示数字。

它们还允许存储更大的数字……尽管这很少成为问题。

一般来说,你应该只在高精度或非常小的 memory 占用空间不太重要的情况下使用“float”——让编译器决定在你的特定硬件上什么是最有效的(通常是“float32”)。

我个人的经验法则是使用浮点数,除非我需要在“百万分之几”范围内或更高的精度——在这种情况下,我使用 float64(或者在 C/C++ 中只是“双精度”)。

某些系统(例如显卡上的 GPU 处理器)可能还支持精度极差的 float16(又名“半浮点数”),但在较旧的 GPU 上可能要快得多。

其他系统具有“long double”,它是一种 80 位浮点表示,比 float64 精度更高(更多 memory 并且可能更慢)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM