代码之家  ›  专栏  ›  技术社区  ›  Martin Ba

x86 4byte floats与8byte double(与long long相比)?

  •  1
  • Martin Ba  · 技术社区  · 14 年前

    我们有一个测量数据处理应用程序,目前所有的数据都被保存为C++。 float 这意味着我们的x86/Windows平台上有32位/4字节。(32位Windows应用程序)。

    由于精度正成为一个问题,有人讨论要转移到另一个数据类型。当前讨论的选项正在切换到 double (8字节)或在 __int64 (8字节)。

    固定小数解使用的原因 γ-64 甚至讨论了底层类型,有人声称 双重的 性能仍然比处理严重 浮动 而且,使用本机整数类型来存储我们的数字,我们可能会看到显著的性能优势。(注意我们 真正地 如果使用固定的十进制精度就可以了,尽管代码显然会变得更复杂。)

    显然,我们最终需要进行基准测试,但我想问一下,在现代处理器上,双打是不是更糟?我想对于大型数组,双倍缓存可能会使缓存命中率更高,但否则我真的看不到它们在性能上有什么不同?

    7 回复  |  直到 14 年前
        1
  •  5
  •   Fabian Giesen    14 年前

    double float

        2
  •  4
  •   Stack Overflow is garbage    14 年前

    • float double int64
    • doubles

        3
  •  3
  •   AProgrammer    14 年前

        4
  •  2
  •   CodesInChaos    14 年前

    Sqrt

    x^3

        5
  •  1
  •   Max Lybbert    14 年前

    double float long double sparking some debate

        6
  •  0
  •   Andreas Brinck    14 年前

        7
  •  0
  •   Boom    14 年前
    推荐文章