對於一個數的每個置位的位元,切換 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP