浮点计算实际上如何在c ++中工作?

时间:2016-03-11 05:16:36

标签: c++ performance floating-point

请告诉我c ++如何添加两个浮点类型数字并使进程如此之快。我正在尝试创建一个可以计算大量数字的库,但我添加它们的过程效率要比两个浮点数低1000倍。

1 个答案:

答案 0 :(得分:2)

答案是CPU具有知道如何存储浮点数的硬件,并且能够直接对它们执行计算。

例如,您可以在寄存器xmm0和xmm1中存储两个浮点数,并通过让CPU执行以下指令将它们加在一起: -

添加%xmm1,%xmm0

这适用于64位" x86"但每个CPU都有类似的。

好吧,8位Z80之类的旧CPU没有硬件来执行浮点运算,你必须编写一小段代码来执行此操作,是的,它们很慢......