程式設計中的位運算

2021-10-07 14:14:36 字數 760 閱讀 3381

位運算的相關知識在本科計算機組成原理以及離散數學中學到了很多,在做leetcode上的題的時候發現,位運算可以省掉很多的**量。

void

swap

(int

&a ,

int&b )

在上述的交換中需要注意的點有,當要交換兩個陣列裡的成員時,注意不要指向同一陣列位址

void swap (

int&a,

int& b)

int main ();

swap

(a[0

],a[0]

);for(

int i =

0; i<

2;i++

)return0;

}

結果為:這個結果與引用的性質有關

異或性質還可以用於一些程式設計中,例如尋找有很多兩兩相等的數和乙個單獨的數中的這個單獨的數;或者給定乙個包含 0, 1, 2, …, n 中 n 個數的序列,找出 0 … n 中沒有出現在序列中的那個數。

int

missingnumber

(vector<

int>

& nums)

return res^

=nums.

size()

;}

上述**可以實現給定乙個包含 0, 1, 2, …, n 中 n 個數的序列,找出 0 … n 中沒有出現在序列中的那個數。

Java 中的位運算

移位運算子 包括 右移 左移 無符號右移 例子 5 3 1 1111 1111 1111 1111 1111 1111 1111 1011 1111 1111 1111 1111 1111 1111 1111 1111 其結果與 math.floor double 5 2 2 2 完全相同。5 3 ...

Java 中的位運算

計算機中的原碼 反碼和補碼 移位運算子 包括 右移 左移 無符號右移 例子 5 3 1 1111 1111 1111 1111 1111 1111 1111 1011 1111 1111 1111 1111 1111 1111 1111 1111 其結果與 math.floor double 5 2...

Java 中的位運算

移位運算子 包括 右移 左移 無符號右移 例子 5 3 1 1111 1111 1111 1111 1111 1111 1111 1011 1111 1111 1111 1111 1111 1111 1111 1111 其結果與 math.floor double 5 2 2 2 完全相同。5 3 ...