【发布时间】:2011-08-20 08:17:56
【问题描述】:
我正在开发一个运行时速度比精度更重要的应用程序。数字运算涉及浮点运算,我担心 double 和/或 long double 是在软件中处理而不是在处理器上处理(这在 32 位架构上总是如此,对吧?)。我想有条件地使用硬件支持的最高精度进行编译,但我还没有找到一种快速简便的方法来检测软件仿真。我在 GNU/Linux 上使用 g++,我不关心可移植性。它在 x86 架构上运行,所以我假设 float 始终是原生的。
【问题讨论】:
-
为什么人们会有这种神秘的信念,即“float”是原生的、更快、更好?
-
@unapersson:提问者比8087小9岁,太可怕了。
-
@unapersson:因为在某些架构上确实如此,可能(并且因为整数数据类型很常见)
-
@Steve Aye,我记得当我买(或者更确切地说是我的雇主买给我)我的第一个 8087 协处理器时,当时它是一个单独的芯片,并且双手颤抖(肯定我要打破这个非常昂贵的产品的引脚)我将它插入我的 IBM XT 的 copro 插座。 Lahey F77 编译器需要它,它不进行 FP 仿真。快乐的时光!当然,当时我也住在高速公路的洞里。
-
@jalf 整数的常见情况是什么?
标签: c++ c floating-point