C语言分支语句中,巧妙实现某个数据为基数和偶数的两种情况
实现方法:
只需把该数据与 1 进行位与,如果该数为基数,则结果为1 ,如果为偶数,则结果为0
(基数转换为二进制时,最后一位为1,偶数转换为二进制时,最后一位为0)
eg:
// 计算中值
if ((iFilterLen & 1) > 0)
{
// 数组有奇数个元素,返回中间一个元素
bTemp = bArray[(iFilterLen + 1) / 2];
}
else
{
// 数组有偶数个元素,返回中间两个元素平均值
bTemp = (bArray[iFilterLen / 2] + bArray[iFilterLen / 2 + 1]) / 2;
}