一、邏輯運算符:
包括:
1。&&邏輯與
2。||邏輯或
3。!邏輯非
邏輯運算符用於對包含關系運算符的表達式進行合並或取非
邏輯運算符的優先級一般都低於算術運算符。
&& 的優先級要高於||
例如,5>4+3的計算與5>(4+3)運算符是一樣的,即
先計算4+3,再執行關系運算。此表達示的結果為“假”,即,將返回0。
下面的語句
printf("%d",5>4+3);
將輸出 0
可以總結為:&&的結果是真真為真。||的結果是假假為假。
二、位運算符:
1 & 位與符
2 | 位或符
3 ^ 位異或符
4 ~ 位取反符
5 << 左移(左移n位,就是原數乘以2的n次方——十進制)
6 >> 右移(右移n位,就是原數除以2的n次方——十進制)
以操作數12為例。位運算符將數字12視為1100。位運算符將操作數視為位而不是數值。數值
可以是任意進制的:十進制、八進制或十六進制。位運算符則將操作數轉化為二進制,並相應地返回1或0。
位運算符將數字視為二進制值,並按位進行相應運算,運算完成后再重新轉換為數字。例如:
表達式10&15表示(1010 & 1111),它將返回表示1010的值10。因為真真得真,或者是11得1,同位全是1結果也是1
表達式10|15表示(1010 | 1111),它將返回表示1111的值15。假假得假。全零得零。
表達式10^15表示(1010 ^ 1111), 它將返回表示0101的值5。此時是同性相斥,相同的就為假。
表達式~10表示(~1010),它將返回表示0101的值 -11。此號好理解,按位取反