天天看點

二進制 位運算

如果指定 A = 60; 及 B = 13; 兩個變量對應的二進制為:

A = 0 0 1 1 1 1 0 0

B = 0 0 0 0 1 1 0 1

1、&   按位與    對比兩數  隻有同時為1的情況下傳回1  其他傳回0

結果為 00001100    12

2、|  按位或  對比兩數 隻有同時為0的情況下傳回0  其他傳回1 

結果為 00111101  61

3、^ 按位異或  對比兩數  不同時傳回1  相同傳回0

結果為 00110001  49

4、~按位取反運算符   對一個操作數的每一位都取反 

int為4個位元組   0000 0000 0000 0000 0000 0000 0011 1100

             取反 1111 1111 1111 1111 1111 1111 1100 0011 

想要求其值 則 符号位不變 再次取反 加1 

(~A ) 結果為 -61, 二進制為 1100 0011  

5、<<按位左移  左移操作符(<<)将操作數的所有位向左移動指定的位數。如果左移一位 則第二位為第一位  拿0補全其他位

A<<2  結果為240 ,二進制位11110000

5、>>按位右移移  右移操作符(>>)将操作數的所有位向右移動指定的位數。如果右移一位 則第二位為第三位 拿0補全其他位

A>>2  結果為15 ,二進制位00001111

繼續閱讀