golang中有3個位運算
按位與&、按位或|、按位異或^
按位與&:兩位全為1,結果為1,否則為0
按位或|:兩位有乙個為1,結果為1,否則為0
按位異或^:兩位乙個為0,乙個為1,結果為1,否則為0
例如:2&3=2
2的補碼0000 0010
3的補碼0000 0011
2&3= 0000 0010
-2^2=-4
2的補碼 0000 0010
-2的補碼1111 1110
-2^2= 1111 1100(補碼)==》1111 1011(反碼)==》1000 0100(原碼)
2|3=3
2的補碼0000 0010
3的補碼0000 0011
2|3= 0000 0011
2^3=1
2的補碼0000 0010
3的補碼0000 0011
2^3= 0000 0001
golang中有2個移位運算子
>>、《右移和左移
右移運算子 >>:低位溢位,符號位不變,並用符號位補溢位的高位
左移運算子 <<:符號位不變,低位補0
例如:a := 1 >> 2 //0000 0001 ==》0000 0000 = 0
b := 1 << 2 //0000 0001 ==》0000 0100 = 4
ps:來自尚矽谷 韓順平
位運算子 移位運算子
按位操作符用來操作整數基本資料型別中的單個位元 bit 就是二進位制,按位操作符會對兩個引數中對應的位 bit 執行布林運算,最終生成乙個結果。下面我們來看一下都有哪些位運算子。ok,有人看了之後可能會問,與 或 異或這三個符號不是邏輯運算子嗎,怎麼又成了位運算子?其實,我們知道,任何資訊在計算機中...
位運算 移位運算子
一 位 bit 運算子 位運算子 運算子含義 與 and 或 or 異或 取反 規則 可以把1當做true 0當做false 只有參與運算的兩位都為1,運算的結果才為1,否則就為0。只有參加運算的兩位都是0,運算的結果才是0,否則都是1。只有參加運算的兩位不同,運算的結果才為1,否則就為0。1 與運...
C 位運算子詳解 異或運算子和移位運算子
什麼是位運算 位運算子按二進位制進行運算,這些運算子只能用於整數型別的操作。如 char,short,int,longbqclwf 通過位運算子來獲取高位值和低位值 int a 0x1234 int high,low high a 8 0x00ff low a 0x00ff 左移運算子和www.cp...