题目:不使用(a+b)/2这种方式,求两个数的平均值
分析:采用位运算的方法(图解如下)
代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int Average(int num1, int num2)
{
return num1 + ((num2 - num1) >> 1);
}
int main()
{
int a, b;
scanf("%d %d", &a, &b);
int _aver = Average(a, b);
printf("%d", _aver);
system("pause");
return 0;
}
运算结果: