请告诉我 C++ 如何将两个浮点型数字相加并使过程如此之快。我正在尝试创建一个可以计算大量数字的库,但我将它们相加的过程比两个 float 的效率低 1000 倍。
最佳答案
答案是 CPU 具有知道如何存储 float 并能够直接对其执行计算的硬件。
例如,您可以将两个 float 存储在寄存器 xmm0 和 xmm1 中,并通过让 CPU 执行以下指令将它们相加:-
添加 %xmm1, %xmm0
这是针对 64 位“x86”的,但每个 CPU 都有相似之处。
嗯,旧的 CPU,例如 8 位 Z80 没有执行 float 学运算的硬件,您必须编写少量代码来执行此操作,是的,它们很慢...
关于c++ - 浮点计算实际上如何在 C++ 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35932761/