避免使用货币进行浮点运算

时间:2018-03-19 01:41:33

标签: c optimization financial

我正在编写一个使用美国货币(便士,镍币,硬币,四分之一和半美元)的模拟器。实现是这样的:

B = B_0;

While not done:
   B += simulate(strategy, investment);

我想避免浮点数而不必对溢出进行昂贵的检查(比如B< INT_MAX)。有没有一种快速准确的方法来使用整数 - 只在这里?

1 个答案:

答案 0 :(得分:0)

如果您正在使用GCC,则可以使用__builtin_add_overflow通过溢出检查执行快速添加。