位運算都是在二進位制的基礎上進行運算的,所以在位運算之前要先將兩個數轉成二進位制
&與 and|或 or
^異或 xor
&^位清空 (and not)
《左移>> 右移
1. & 與 and
&只有兩個數都是1結果才為1例:var i int8 = 20
var j int8=15 求i&j
首先我們需要將宣告變數,轉換成二進位制形式進行位與運算
i轉成二進位制為0001
0100, j轉成二進位制為0000 1111
0001
0100 & 0000
1111 = 0000
0100
0000 0100對應的十進位制就是4
2. | 或
或 兩個數有乙個是1 結果就是10001
0100 | 0000
1111 = 0001
1111
0001
1111轉成十進位制就是31
20 | 15 = 31
golang中位運算子與移位
not 0111 十進位制7 1000 十進位制8 許多程式語言,取反操作符用波浪線 表示。0101 十進位制5 or 0011 十進位制3 0111 十進位制7 按位或操作符是 0101 xor 0011 0110按位異或運算子是 0101 and 0011 0001按位與操作符是 位運算子對整數...
理解golang中的function types
package main import fmt greeting function types type greeting func name string string func say g greeting,n string func english name string string fun...
golang中特殊的位運算子 介紹和應用
此運算子是雙目運算子,按位計算 主要功能 將運算子左邊資料相異的位保留,相同位清零。例如 fmt.println 0 0 fmt.println 0 1 fmt.println 1 0 fmt.println 1 1 列印結果如下 00 10此運算子特點 1 如果右側是0,則左側數保持不變 2 如果...