位運算子和三目運算子

2021-10-10 11:22:59 字數 956 閱讀 2813

運算子

含義示例

<<

左移5 << 2 = 20 —> 5 * 2^2 = 5 * 4 = 20

>>

右移5 >> 1 = 2 —> 5 / 2^1 = 5 / 2 = 2

>>>

無符號右移

5 >>> 1 = 2—> 5 / 2^1 = 5 / 2 = 2

&與運算(只要有乙個為0,運算結果則為0,否則為1)

5 & 3 = 1

|或運算(只要有乙個為1,運算結果就為1,否則為0)

5 | 3 = 7

^異或運算(如果兩個數值一樣,運算結果就為0,否則為1)

5 ^ 3 = 6

~取反運算(了解)

~6—>0110 = -7

備註:位運算計算機底層採用的對整數進行二進位制運算。

​ 【沒有無符號左移位運算子】

三目運算子格式:

​ 布林型別表示式 ? 真的結果值 : 假的結果值

三目運算子格式:

資料型別 變數名 = 布林型別表示式 ? 真的結果值 : 假的結果值

計算方式:

​ 如果布林型別表示式結果是true,三目運算子運算的結果為緊鄰?後面的值

​ 如果布林型別表示式結果是false,三目運算子運算的結果為緊鄰:後面的值。

備註:當三目運算子運算參與有其他的運算(如賦值運算),要求三目運算子中的?和:後面的值的【資料型別保持一致】。

if語句和三目運算子的互換

int num01 =10;

int num02 =20;

// 定義乙個變數,儲存num01和num02的最大值

int c;

if(num01 > num02)

else

// 上面的語句我們也可以使用三目運算子

c = num01 > num02 ? num01 : num02;

邏輯運算子,位運算子以及三目運算子總結

一 邏輯運算子 包括 1。邏輯與 2。邏輯或 3。邏輯非 邏輯運算子用於對包含關係運算子的表示式進行合併或取非 對於使用邏輯運算子的表示式,返回0表示 假 返回1表示 真 關於邏輯運算子的解釋 請注意 任何使用兩個字元做符號的運算子,兩字元之間不應有空格,即將 寫成 是錯誤的。假設乙個程式在同時滿足...

如何單目運算子和雙目運算子以及三目運算子

1 單目運算子 單目運算子是指運算所需變數為乙個的運算子,又叫一元運算子,其中有邏輯非運算子 按位取反運算子 自增自減運算子 等。邏輯非運算子 按位取反運算子 自增自減運算子 負號運算子 型別轉換運算子 型別 指標運算子和取位址運算子 和 長度運算子 sizeof 2 雙目運算子 雙目運算子就是對兩...

位運算子和賦值運算子

位運算只能對整數進行,可以是整數型變數也可以是被識別為整數型別的字面量。位運算是對該整數實際儲存的二進位制串的二進位制位進行操作,可以進行6種位運算 運算子作用 按位與 按位或 按位異或 按位取反 左移 右移位運算都不改變運算元本身的值,而是位運算表示式本身的值為進行位運算之後的值,例如 char ...