使用数学地板找到平均值

Uing math floor to find average

本文关键字:平均值      更新时间:2023-10-16

数字数组中最中间的位置可以使用floor函数计算,即:

middlePosition = FLOOR ( (start position + end position) / 2)

编写一个程序,根据用户输入计算中间位置。

注意:基本上输入2个数字并计算出平均值。除了我们使用语言数学地板函数向下舍入:例如

middlePosition = [C++_math_library].floor((startPos + endPos) / 2)

使用整数数学,无需使用地板函数。在整数数学中,奇数在每台计算机中总是向下舍入,因为这是算术逻辑单元的工作方式。 始终建议在除以 2 的幂时避免使用除法,因为 x64 上的除法(现在建议放弃对 x86 CPU 的支持,因为最低规格是酷睿 2 双核和速龙 64(使用数百个时钟周期,乘法需要 3 个时钟,但相反,您应该使用向右移动位来除法,并将乘法左乘以 2 的幂。对于向左或向右移动的每个位,分别乘以或除以 2 的 1 次方。这也具有与地板功能相同的效果。

middlePosition = (start position + end position) >> 1; // >> 1 to / 2.
middlePosition = (start position + end position) >> 2; // >> 1 to / 4.
middlePosition = (start position + end position) << 2; // << 1 to * 4.

请注意我如何将评论放在右边>> 1 to / 2.提醒人们你为什么有点转移的目的的最佳实践,因为当你不明白为什么要做某事时,很容易无意中搞砸一些东西。