单对双数据类型

Eve*_*ett 6 floating-point double types

是否有任何情况下使用单个数据类型而不是双精度数更有意义?从我的搜索,双重的缺点是它需要更多的空间,这对大多数应用程序来说不是问题.在这种情况下,所有浮点数应该是双倍的吗?

一些背景信息:我正在处理一个处理大量有关坐标和化学品数据的应用程序.一些客户注意到,在导入数据电子表格时,一些高精度值会向下舍入单个精度.

Law*_*nti 5

来自这篇.net文章

数据类型宽度

最有效的数据类型是那些使用运行时平台的本机数据宽度的数据类型。在当前平台上,计算机和操作系统的数据宽度均为 32 位。

因此,Integer 目前是 Visual Basic .NET 中最有效的数据类型。次优是 Long、Short 和 Byte,按效率顺序排列。您可以通过关闭整数溢出检查来提高 Short 和 Byte 的性能,例如通过设置 RemoveIntegerChecks 属性,但这会导致由于未检测到溢出而导致计算错误的风险。您不能在运行时打开和关闭此检查;您只能为应用程序的下一个构建设置其值。

如果您需要小数值,最好的选择是 Double,因为当前平台的浮点处理器以双精度执行所有操作。次佳的是 Single 和 Decimal,按效率顺序排列。


Ano*_*on. 4

在大多数桌面应用程序上,是的。

不过,如果你有一个巨大的数组,如果你不需要精度,那么将其大小减半可能就足够重要了,值得这样做。

特别是考虑到几乎所有消费级台式机都在硬件中完成双精度浮点运算。