&(按位與)
運算規則:兩個為真才為真 (1&1=1 , 1&0=0 , 0&1=0 , 0&0=0)
例:3&5=1
3的二進制位是0000 0011,5的二進制位是0000 0101 ,那么就是011 & 101,由按位與運算規則得知,001 & 101等于0000 0001,最終值為1
&&(邏輯與)
運算規則:&&邏輯與也稱為短路邏輯與,先運算&&左邊的運算式,一旦為假,后續不管多少運算式,均不再計算,一個為真,再計算右邊的運算式,兩個為真才為真,
|(按位或)
運算規則:一個為真即為真(1|0 = 1 , 1|1 = 1 , 0|0 = 0 , 0|1 = 1)
例:6|2=6
6的二進制位0000 0110 , 2的二進制位0000 0010 , 110|010為110,最終值0000 0110,故6|2等于6
||(邏輯或)
運算規則:一個為真即為真,后續不再計算,一個為假再計算右邊的運算式,
^(異或運算子)
運算規則:相同為0,不同為1 (1^0 = 1 , 1^1 = 0 , 0^1 = 1 , 0^0 = 0)
例 5^9=12
5的二進制位是0000 0101 , 9的二進制位是0000 1001,也就是0101 ^ 1001,結果為1100 , 00001100的十進制位是12
<<(左移運算子)
5<<2的意思為5的二進制位往左挪兩位,右邊補0,5的二進制位是0000 0101 , 就是把有效值101往左挪兩位就是0001 0100 ,正數左邊第一位補0,負數補1,等價于:result=num×2的n次方十進制位是20
>>(右移運算子)
5的二進制位是0000 0101,右移兩位就是把101左移后為0000 0001,正數左邊第一位補0,負數補1,等價于:result=num÷2的n次方,結果為1
~(取反運算子)
運算規則:將0變為1,1變為0
例:5的二進制位是0000 0101,取反后為1111 1010,值為-6
>>>(無符號右移運算子)
運算規則:
對于正數:無符號右移是高位補0,移多少位補多少個0
對于負數:正數的二進制,取反,再加1
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/202771.html
標籤:其他
上一篇:SpringBoot第四集:整合JdbcTemplate和JPA(2020最新最易懂)
下一篇:Maven
