位運算就是講數值轉換為二進制,按位操作。go語言有四個相關的操作符。
或|:都是0才是0,否則都是1
與&:都是1才是1,否則都是0
^異或:
二元:a ^ b --> 對應位的值相同則為0,不同則為1
一元:^a --> 按位取反 1變0,0變1 (假設a是int類型,一共是64位,每一位取反才是正確的結果,含正負號+-)
位清空&^:
對於 a &^ b -->
對於b的每個數值:如果是0,取a對應位的數;如果是1,結果位是0
補充:
移位運算:number >> 4 講數字轉為二進制,整體向右移動4位,再將結果轉為十進制;
number << 4 講數字轉為二進制,整體向左移動4位,再將結果轉為十進制
