對於一個數的每個置位的位元,切換 C++ 的另一個位元
在這個問題中,我們拿到了兩個整數。我們的任務是建立一個 c 程式來進行操作,對於一個數的每個置位的位元,切換另一個位元。
下面,我們透過一個例子來理解這個問題。
Input: 3 7 Output: 4 Binary of 3: 011 Binary of 3: 111
數字的第一個和第二個位元被翻轉,它變為 100,即 4。
解決方法
解決該問題的辦法是執行兩個數的異或操作。無論何時第一個位元為 1,結果的相應位元都將使用異或運算切換。
示例
一個程式來說明我們解決方案的工作原理
#include <bits/stdc++.h> using namespace std; int main(){ int a = 3, b = 7; cout<<"The numbers are "<<a<<" & "<<b<<endl; cout<<"The result of flipping bits is "<<(a ^ b); return 0; }
輸出
The numbers are 3 & 7 The result of flipping bits is 4
廣告