在 C++ 中,对于数字的每个设置位,切换其他位

c++server side programmingprogramming更新于 2025/5/31 12:37:17

在这个问题中,我们给出了两个整数值。我们的任务是创建一个 c 程序来执行操作,对于数字的每个设置位,切换其他位。

让我们举一个例子来理解这个问题

输入:3 7
输出:4
3 的二进制数:011
3 的二进制数:111

第二个数字的第一位和第二位被翻转,使其变为 100,即 4。

解决方法

解决问题的方法是执行两个数字的 XOR 运算。使用 XOR 运算,将对 I’st 的位为 1 的位切换结果。

示例

程序用于说明我们的解决方案的工作原理

#include <bits/stdc++.h>
using namespace std;

int main(){
   int a = 3, b = 7;
   cout<<"数字为 "<<a<<" & "<<b<<endl;
   cout<<"位翻转的结果是"<<(a ^ b);
   return 0;
}

输出

数字为 3 & 7
位翻转的结果是 4

相关文章