位運算子基於二進位制,速度快,應用廣,如果深入的掌握和理解,在很多時候可以解決很多問題,所以就總結一下位運算子的用法吧
結合例子看位運算子的用法
1.二進位制模擬加法操作,先加不進製得a,然後算進製得b,然後(b<<1)+a即得到兩個數之和。a可以由兩個數的^得到,b可以有a&b得到。
int plus(int num1,int num2)
2.求1+2+3+.....+n的和,其中n==0時,遞迴就結束了
int work(int n,int & ans)
3.實現兩個數互換
int a=1,b=2;
a^=b;
b^=a;
a^=b;
4.判斷乙個數是奇數
if(a&1)cout<<"yes";
5.求子集生成問題
#include#include#include#includeusing namespace std;
int main()
{ int n=5;
int n=1<
位運算子,「,」逗號運算子,
位運算子有 按位與 按位或 按位異或 按位取反 優先順序從高到低,依次為 按位與運算有兩種典型用法,一是取乙個位串資訊的某幾位,如以下 擷取x的最低7位 x 0177。二是讓某變數保留某幾位,其餘位置0,如以下 讓x只保留最低6位 x x 077。按位或運算的典型用法是將乙個位串資訊的某幾位置為1。...
運算子之位運算子
右移 負數 無符號右移 或 異或 與 非 說明 位運算子都是作用在二進位製上的 比如 n 50 n 1 結果是多少?100 n 2 結果是多少?200 n 5 結果是多少?1600 為什麼會是這樣的呢?運算的邏輯如下 1,n 50 2,n的二進位制是 0011 0010 3,0011 0010 左移...
ECMAScript 運算子 位運算子
位運算子是在數字底層 即表示數字的 32 個數字 進行操作的 重溫整數 ecmascript 整數有兩種型別,即有符號整數 允許用正數和負數 和無符號整數 只允許用正數 在 ecmascript 中,所有整數字面量預設都是有符號整數,這意味著什麼呢?有符號整數使用 31 位表示整數的數值,用第 32...