1樓:旅初彤
& 如果是單獨使用則是進行二進位制數的位與運算,比如二進位制數 100 & 101 結果就是 100
& 還可以作為變數的前面表示取變數位址賦值給指標, 如:int a = 0; int *p = &a;
a|b 或運算,會返回a和b中每個位(位元,即二進位制)最大的值;
2樓:聽不清啊
在c++中,&&與||是表示邏輯與、邏輯或,那麼&與|表示按位與、按位或。
3樓:匿名使用者
雙目運算子表示邏輯與或者或,舉例就是
c = (a&&b),c只有在a和b同時不為0的情況下才為1單目運算子是按位與,就是化成二進位制數,比較相同的位,與就是同為1才是1,或就是有乙個1就是1,舉例就是:
a = 1101;b=1011;c = (a&b);c就是1111
4樓:靜心先生
&和|是位操作,分別是互為1得1,有乙個不為1得0與有1就得1
5樓:匿名使用者
c = (a&&b),c只有在a和b同時不為0的情況下才為1
單目運算子是按位與,就是化成二進位制數,比較相同的位,與就是同為1才是1,或就是有乙個1就是1,舉例就是:
a = 1101;b=1011;c = (a&b);c就是1111
6樓:匿名使用者
& 與 | 表示按位操作,分別是按位與和按位或,比如:
0101 & 1100 的結果是 0100
0101 | 1100 的結果是 1101
7樓:三天打魚
按位與,按位或
在二進位製上進行的運算
0011 | 1010 = 1011
1100 & 0111 = 0100
補充&還可能是取址運算比如 int * p=&變數;取變數的位址
8樓:匿名使用者
& 表示按位與運算,| 表示按位或運算。
9樓:一匹馬賽克
後兩者是位運算子,前者是按位與,後者是按位或
10樓:
&是:按位與
運算規則和1是二進位制)
將兩個運算元的對應二進位制位進行「與運算」。
|是:按位或
運算規則:0|0=0; 0|1=1; 1|0=1; 1|1=1;
將兩個運算元的對應二進位制位進行「或運算」。
11樓:匿名使用者
& |是位操作符,按位與 按位或
12樓:射手小小王
都是二進位制運算子,你仔細看看相關章節
13樓:匿名使用者
&& 與 (相當於and 且)
|| 或 (相當於or 或)
14樓:璐人釔
&按位進行與運算 11 & 00 = 00
|按位進行或運算 11 | 00 = 11
15樓:匿名使用者
&可以是取位址符,也可以是按位與運算
|是按位或運算
16樓:匿名使用者
& 位運算的與
| 位運算的或~~~~
17樓:匿名使用者
& 按位且, 1&1=1 1&0=0
| 按位或 1|1=1 1|0=1
18樓:徐臨祥
推薦回答雙目運算子表示邏輯與或者或,舉例就是 c=(a&b),c只有在a和b同時不為0的情況下才為1 單目運算子是按位與,就是化成二進位制數,比較相同的位,與就是同為1才是1,或就是有乙個1就是1,舉例就是: a=1101;b=1011;c=(a&b);c就是1111
19樓:瞬
string str="hello";
string* str1=str;
//str1為指標型別,它儲存的是str的位址(在記憶體中)(str1指向str)
&str1="hi";//此處&表示str1求根,"&str"整體代表str所處的記憶體,該語句執行後,str的值變成了"hi"
------str1--------------str----------------------
......| str的位址 |......| h | e | l | l | o |......//位址一般為一串數字
|就不知道是什麼鬼玩意了...囧囧囧
c++中&和&&有什麼區別
20樓:a羅網天下
區別一:意思不同
1、&表示按位與操作。
2、&&表示邏輯與的意思,即為and。
區別二:程式執行的時候不同
1、當運算子&&兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。比如 12&&23的結果就是1,12&&-1 的結果是1,123&&0的結果就是0
2、我們通常使用0x0f來與乙個整數進行&運算,來獲取該整數的最低4個bit位,例如,0x31 & 0x0f的結果為0x01。
區別三:&&還具有短路的功能
如果第乙個表示式為false,則不再計算第二個表示式,例如,對於if(str != null && !str.
equals(「」))表示式,當str為null時,後面的表示式不會執行,所以不會出現nullpointerexception
c++中的算術運算子包括基本的算術運算子和自增、自減運算子。由算術運算子、運算元和括號構成的表示式稱為算術表示式。
基本算術運算子有:+(加)、-(減或負號)、*(乘)、/(除)、%(取餘)。其中「-」作為負號時為一元運算子,其餘都為二元運算子。
這些基本算術運算子的意義與數學中相應符號的意義是一致的。它們之間的相對優先順序關係與數學中的也是一致的,即先乘除、後加減,同級運算自左向右進行。使用算術運算子要注意以下幾點:
①「%」是取餘運算,只能用於整型運算元。表示式a%b的結果為a/b的餘數。 「%」的優先順序與「/」相同。
②當「/」用於兩整型運算元相除時,其結果取商的整數部分,小數部分被自動捨棄。因此,表示式1/2的結果為0,這一點需要特別注意。
⑧c++中的「++」 (自增)、 「--」 (自減)運算子是使用方便且效率很高的兩個運算子,它們都是一元運算子。這兩個運算子都有前置和後置兩種使用形式
21樓:匿名使用者
c++中&和&&的區別如下:
1、含義上的區別:
&&表示邏輯與的意思,即為and。當運算子兩邊的表示式的結果都為true時,整個運算結果才為true,否則,只要有一方為false,則結果為false。
比如 12&&23的結果就是1,12&&-1 的結果是1,123&&0的結果就是0。
2、運算規則的區別:
表示按位與。&表示按位與操作,我們通常使用0x0f來與乙個整數進行&運算,來獲取該整數的最低4個bit位,例如,0x31 & 0x0f的結果為0x01。二進位制與運算規則:
1&1=1 1&0=0 0&0=0。
3、特殊用法的區別:
&&還具有短路的功能,即如果第乙個表示式為false,則不再計算第二個表示式。
例如,對於if(str != null && !str.
equals(「」))表示式,當str為null時,後面的表示式不會執行,所以不會出現nullpointerexception。
22樓:
c語言採用了短路方式,如果&&前乙個為false,直接退出。所以yanganglove的回答不對。
&&和&的不同在於&&是邏輯運算子,前後跟兩個表示式,如果兩個都為true,整個結果為true。而&是位運算子,按位進行,比如:
3&53的二進位制為11
5的二進位制為101
011&101
_____
001(按每位進行與運算)
所以3&5的結果為1。
位運算子還有|(或)、^(異或)、~(取反)等。
&&和||的優先順序是相同的,而!優先順序比較高。
23樓:匿名使用者
看下面**
if(a>0&&b<0&&c>0);2個&&時他會把if裡面的條件判斷完後再來判斷是真還是假;
if(a>0&b<0&c>0);1個&時他可能不會判斷if裡面的所有條件.當判斷到假時他就不再進行下面的判斷,直接得出假值!
24樓:私理主宰
前者是按位與,後者是邏輯與
25樓:
&&是邏輯與 &是按位與 傑物說的對
關於c++中邏輯與&&和邏輯或||的問題
26樓:匿名使用者
lz 我在 vs 2008 用如下**做了測試
#include
int main()
顯示為016
7 也就是只有 a 遞增了,b c 不變。我覺得這樣才符合我所學的解釋。
對於 a++&&b++&&c++ 這個表示式,
首先從運算子優先順序(precedence)分析為:
(a++)&&(b++)&&(c++) 即,所有 後置遞增『++』應該先運算。
然後 從 && 的集合性(associativity)分析
((a++)&&(b++))&&(c++) 即,從左到右先計算左邊的『&&』,即 (a++)&&(b++)
最後,也是最關鍵的乙個步驟就是 c++ 標準對 && || 兩個運算子有特殊的規定:
短路求值(short-circuit evaluation) —— 簡單的說,有表示式 a&&b 其中 a,b 分別是兩個表示式,編譯器會先計算左邊的 a 的值,如果a 的值為 0,則不管 b 的值最後是多少都不影響 a&&b 的結果了(a&&b 的結果已經提前由 a 決定了為 0 對不?),那麼編譯器就不再對 b 求值了,a&&b 只計算了 a 就直接返回為 0了。
所以這裡 ((a++)&&(b++))&&(c++),由於第乙個 && 的左邊 a++ 返回 0,所以 b++ 被略過,以此類推 c++ 也應該被略過
這樣最終 只有 a++ 被求值,b++ c++ 被忽略,a++&&b++&&c++返回0
27樓:匿名使用者
首先第乙個與運算
與運算必須是所有都為真 此式子的值才為真,首先系統先判斷第乙個值,a 因為a的值為0,所以系統不需要再判斷後面的是否為真 也就不需要再執行後面的b++,c++,所以就只執行了以個a++,所以a的值為1,b,c的值不變
而或運算是所有值為假,式子才為假,當系統判斷第乙個a的值為假時,執行a++,a的值為1,然後系統再判斷b的值,這時b為真,執行b++,b的值為7,應為b為真 這個式子的值已經為真了,所以系統不需要再判斷後面的語句,也就不執行c++,所以c不變
28樓:匿名使用者
a++&&b++&&c++中,從左到右計算,先計算a++,(a++)==0,在邏輯與中,當從左到右計算到某一陣列已經是false(或0)了,編譯器就不會計算後面的了(因為再計算下去對這式子已經沒意義了,式子已經是false(或0)了),然後就沒計算b和c...注:(a++)的這句的值為0(因為之前a==0),但a在參與完計算後才自增1,你要換成是++a就不同了;
a++||b++||c++中,乙個為false(或0)無法對語句產生必然結果,所以編譯器需要將a.b.c計算完才能得出式子結果,就自然把a.
b.c全計算了(即全部自增1),但對編譯器來說這個式子就是計算0||6||7是否為真,然後才將a.b.
c自增1...
在excel中,設有A,B,C,D四列找出c列與a列相同的項
在e上設 sumif c c,a a,d d b2 a b c d g 無 2 是 6 2 線 3 本 7 13 裝 4 無 8 10 定 5 小 9 5 本 6 在 10 6 公式 g1 b1 sumif a a,c1,d d g2 b2 sumif a a,c2,d d 楚楚柳柳 假如把相加的值...
人名中”二世“”三世“是表示晚輩與長輩重名嗎?應該如何寫,如何讀
沒錯。父親如果命名兒子同樣的名字,則兒子是一世 jr 兒子如果也命名自己的兒子同樣的名字,則就是二世 jr.ii 以此類推,三世是jr.iii。jr.讀作junior,後面的羅馬數字這樣讀 2世則是 second 三世是 third 依次類推。所以二世合起來就是 junior second 三世合起...
訊號與系統中t 是連續函式嗎,在《訊號與系統》f t 變成f t t 的波形是怎麼變的,為什麼?
116貝貝愛 是連續函式 解題過程 性質 在某點連續的有限個函式經有限次和 差 積 商 分母不為0 運算,結果仍是一個在該點連續的函式。連續單調遞增 遞減 函式的反函式,也連續單調遞增 遞減 連續函式的複合函式是連續的。閉區間上的連續函式在該區間上一定有界。存在一個正數m,使得對於任意x a,b 都...