C++ 、、 |、|| 、|=、?: 逻辑运算符用法
C++ &、&& |、|| 與|=邏輯運算符用法
- &與&&
- |與||
- |=
- ?:
- 參考鏈接
&與&&
&&
????表示邏輯與的意思,即為and。當運算符兩邊的表達式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。
比如 12&&23的結果就是1,12&&-1 的結果是1,123&&0的結果就是0
????&&還具有短路的功能,即如果第一個表達式為false,則不再計算第二個表達式,例如,對于if(str != null && !str.equals(“”))表達式,當str為null時,后面的表達式不會執行,所以不會出現NullPointerException
&
????表示按位與操作,我們通常使用0x0f來與一個整數進行&運算,來獲取該整數的最低4個bit位,例如,0x31 & 0x0f的結果為0x01。
二進制與運算規則:1&1=1 1&0=0 0&0=0
15&127為什么等于15啊?
|與||
||
表示邏輯或
????邏輯或,是邏輯運算符,符號是“||”(在PASCAL中為"or")。 “邏輯或”相當于生活中的“或者”,當兩個條件中有任一個條件滿足,“邏輯或”的運算結果就為“真”
|
表示按位或
????按位或運算 按位或運算符“|”是雙目運算符。其功能是參與運算的兩數各對應的二進位(也就是最后一位)相或。只要對應的二個二進位有一個為1時,結果位就為1。
|=
|=是按位或并賦值的意思,和+= -= 用法差不多
a |= b, a = a|b;?:
?:是條件運算符
Exp1 ? Exp2 : Exp3;????其中,Exp1、Exp2 和 Exp3 是表達式。請注意冒號的使用和位置。? : 表達式的值取決于 Exp1 的計算結果。如果 Exp1 為真,則計算 Exp2 的值,且 Exp2 的計算結果則為整個 ? : 表達式的值。如果 Exp1 為假,則計算 Exp3 的值,且 Exp3 的計算結果則為整個 ? : 表達式的值。
? 被稱為三元運算符,因為它需要三個操作數,可以用來代替如下所示的 if-else 語句:
例如,請看下面這段代碼:
if(y < 10){ var = 30; }else{var = 40; } //上面的代碼可以寫成以下語句: var = (y < 10) ? 30 : 40;參考鏈接
C/C++ &與&& |與|| 的區別
在c++中|=是什么意思
C++ &&、||、!邏輯運算符用法詳解
C++ 條件運算符 ? :
總結
以上是生活随笔為你收集整理的C++ 、、 |、|| 、|=、?: 逻辑运算符用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle中 || 代表的含义
- 下一篇: c++ pi