位操作的应用

Posted Young_For_You

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位操作的应用相关的知识,希望对你有一定的参考价值。

1.利用位操作求两个整数的平均数

(a&b) + ((a^b) >> 1)

 

 

2.利用位操作来求两个整数之和

int Add(int a, int b)
{
    if (b == 0)
    return a;
    int sum, tmp;
    sum = a^b;
    tmp = (a&b) << 1;
    return Add(sum, tmp);
}

 

3.交换两个数

void Swap(int a, int b)
{
    cout << "Before Swap a = " << a << "  b = " << b << endl;
    a = a^b;
    b = a^b;
    a = a^b;
    cout << "After Swap a = " << a << "  b = " << b << endl;
}

 

 

4.一个数是不是 2 的幂

bool IsTwoPower(int a)
{
    return !(a&(a - 1));
}

 

以上是关于位操作的应用的主要内容,如果未能解决你的问题,请参考以下文章

操作栏标签片段中的片段?

C#程序员经常用到的10个实用代码片段 - 操作系统

我可以在片段中构建操作栏吗?

Android 片段未显示在应用程序中

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程