四舍五入的原理:
当浮点数的小数部分大于等于0.5时,整数部分加1;
小于0.5时,整数部分不变。
一、先将浮点数加上0.5
这样,原本小数部分大于等于0.5的数,其整数部分就会增加1,
而小数部分小于0.5的数,其整数部分不变。
二、我们再向下取整,可得到四舍五入后的整数。
<cmath>中的floor()函数
问题:![](https://i-blog.csdnimg.cn/direct/415836cd73324bd6ad927a6dc6179e65.png)
解法二:
-
编译器优化:编译器可能能够更好地理解带有条件判断的代码,并对其进行更有效的优化。例如,编译器可能能够利用分支预测来优化条件判断,或者通过重排指令来减少处理器流水线的停顿。
-
减少不必要的计算:在原始代码中,无论浮点数的正负,都会执行加0.5的操作。然而,在带有条件判断的版本中,只有当浮点数为正时才加0.5,为负时才减0.5。这意味着在某些情况下,代码实际上执行了更少的计算。
-
内存访问和指令缓存:代码的结构可能影响内存访问模式和指令缓存的效率。带有条件判断的代码可能更好地利用了处理器的指令缓存,或者减少了不必要的内存访问。
-
处理器特性:不同的处理器可能对不同类型的指令有不同的执行速度。带有条件判断的代码可能更好地利用了处理器的特性,例如分支预测、指令并行性等。