在 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