利用位操作符求平均值

    xiaoxiao2021-12-14  43

    #include<stdio.h> #include<windows.h> int main() { int num1=10; int num2=20; int avg=((num1&num2)+(num1^num2))>>1; printf("%d\n",avg); system("pause"); return 0; }

    在求平均值时用两数相加除二的方法若两个数都是三十二位的相加就会有可能导致数据溢出,然而利用此方法就可以避免此问题,具体如下:

     

    然后输出的二进制就是15。

    转载请注明原文地址: https://ju.6miu.com/read-970253.html

    最新回复(0)