1樓:匿名使用者
這是在交換a,b的內容;
相當於:
c = a;
a = b;
b = c;
但是這種方式是不會引入第三個變數。切^運算最快。
常見的不
引入第三個變數交換ab的方法還有:
a = a + b;
b = a - b;
a = a - b;
2樓:匿名使用者
相當於:
a = a^b;
b = b^a;
3樓:匿名使用者
按位異或呀!交換異或後的內容
4樓:禰元冀永新
直接用pow是不行的,一萬的一萬次方,計算機根本就表示不了,應該用邊乘邊餘。
#include
intmain()
printf("%d\n",fac);
}return0;}
5樓:種賦奚永昌
a異或b按位異或比如a
為5---0101b為
7----
0111
______________
0010
物件位相同為0,
不同為1
6樓:匿名使用者
不是交換,是按位異或!
c語言a=a^b; b=a^b; a=a^b 是啥意思啊??
7樓:匿名使用者
互換a,b的值
位運算是c語言的一大特色,利用異或運算可以實現交換兩個數,原理是一個整數與另外一個數進行兩次異或運算仍然是其本身,基本原理用式子表達如下:
(1) a ^ a = 0;
(2) a = a ^b;
(3) b = a ^b;(相當於b = a ^ b ^ b ,即 b = a)
(4) a= a ^ b;(相當於a = a ^b ^a ,即a = b)
利用位運算不僅提高了**的執行速度,而且此處還減少了對輔助變數的需求,因此提高了程式的效率。
8樓:匿名使用者
交換a,b的值,首先a=a^b;所以 b=(a^b)^b=a^(b^b)=a^1=a,然後a=a^b=(a^b)^a=(a^a)^b=1^b=b
c語言 a^=b^=a^=b是什麼意思?
9樓:遊蕩的林魂
交換a和b的值
^是異或的意思
上面等式可以改寫為
a=a^b
b=b^a
a=a^b
10樓:匿名使用者
不通過設定第三個變數(比如int tmp;)來交換a和b值!
a^=b^=a^=b相當於a^=(b^=(a^=b))
11樓:
^是按位異或,兩者真值相同則假,真值相反則真。例如a^=b是a=a^b,若a,b值均為真或者均為假,則a為假,反之,則為真。a^=b^=a^=b這是賦值的連續運算,從最右邊往左算。
12樓:汪好帥
^撇開語法錯誤。
單從這個運算表示式來說。
是連續的賦值運算。賦值語句是自由向左運算的。
a^=b^=a^=b;
((a^b)^b)^a
異或位運算,如a=3,b=2
a 11
b 10
a^b 01
((a^b)^b)^a 結果為 01^10 11 ^ 11 = 00
貌似有點規律,應該是最終結果都變成零。
c語言中,a^b是什麼意思?
13樓:匿名使用者
^按位異或,
例如#include
int main()
輸出結果是8;
1010//10
0010//2
——^1000//8
14樓:夜風輕吹
位運算:按位異或運算子
看運算子左右值的二進位制數字,一一對應,若相同(即:1-1或者0-0)就為0若不同(1-0或者0-1)則為1
結果得到的二進位制就是結果
15樓:匿名使用者
a的b次方
如2^3就是2的3次方,就是8
c語言中「t=a*=a>b?a:b」是什麼意思?
16樓:匿名使用者
這個叫三目運算式.標準格式是如下
num=a>b?x:y; 簡單解決.a>b是一個表示式,如果這個表示式成立.也就是返回是真的.那麼就將冒號前面的x交給num,否則就把y交給num.
意思就是說.問號前面的關係表示式如果為真就取冒號前面的變數,如果為假就取後面的,當然這裡的表示式也可以為其它型別.比如
num='\0'?x:y;這樣也是可以的.'\0'返回是0也就是假,所以最後num=y;
你這個表示式,我想不用我再告訴你是什麼意思了吧?
我又回來補充了.a*=如果你是問這個是什麼意思,這個是乘等的意思,比如a*=i;意思就是a=a*i;
你的這個表示式答案我給你寫最下面,你行自己用我說的理解一下,看對不.
t=a*=a>b?a:b的意思就是,先比較a和b如果a大於b那麼就取a的值,否則取b的值,然後將取出來的值與a相乘,最後再賦給a然後再賦給t
17樓:楊曼華桑夏
a,c=b:b是一個「條件表示式」;而當a大於或者等於b時其中;b;再翻譯過來就是說這個語句執行完得到的效果就是c的值是取得a:當a小於b時:a<,條件表示式的優先順序排名13
高於賦值表示式的優先順序14;而「c=
「是賦值表示式,c=a,那麼因為在c語言中,b倆者當中較小的那個,因此這個語句的意思就是
在c語言中a^b是什麼意思啊
18樓:匿名使用者
a 異或 b
按位異或
比如 a 為 5 --- 0101
b 為 7 ----0111
______________
0010
對應位相同為0, 不同為1
希望對你有幫助。謝謝
19樓:匿名使用者
定義異或(xor)是一個數**算符。它應用於邏輯運算。異或符號為「^」。 其運演算法則為a異或b=a'b或ab'(a'為非a)。
真異或假的結果是真,假異或真的結果也是真,真異或真的結果是假,假異或假的結果是假。就是說兩個值不相同,則異或結果為真。反之,為假。
異或也叫半加運算,其運演算法則相當於不帶進位的二進位制加法:二進位制下用1表示真,0表示假,則異或的運演算法則為:0異或0=0,1異或0=1,0異或1=1,1異或1=0,這些法則與加法是相同的,只是不帶進位。
異或運演算法則
1. a ^ b = b ^ a
2. a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;
3. d = a ^ b ^ c 可以推出 a = d ^ b ^ c.
4. a ^ b ^ a = b.
x是二進位制數0101
y是二進位制數1011
則結果為x^y=1110
0^0=0
0^1=1
1^0=1
1^1=0
只有在兩個比較的位不同時其結果是1,否則結果為0
即「相同為0,不同為1」!
作用在計算機中普遍運用,異或(xor)的邏輯符號 ^ (shift + 6)或一個圓圈裡面增加一個+(⊕)或者·.形象表示為:
真^假=真
假^真=真
假^假=假
真^真=假
或者為:
true ^ false = true
false ^ true = true
false ^ false = false
true ^ true = false
部分計算機語言用1表示真,用0表示假,所以兩個位元組按位異或如下
00000000
異或 00000000
= 00000000
**********==我是分界線**********==
11111111
異或 00000000
= 11111111
20樓:匿名使用者
a^b 表示 a 和b 進行 異或運算
c語言中a^b是什麼意思啊?
21樓:黑馬程式設計師
按位異或
比如 a 為 5 --- 0101
b 為 7 ----0111
______________
0010
對應位相同為0, 不同為1
22樓:赫全宗書
^參與運算的兩個值,如果兩個相應位相同,則結果為0,否則為1。即:0^0=0,
1^0=1,
0^1=1,
1^1=0
例如:10100001^00010001=10110000
0^0=0,0^1=1
0異或任何數=任何數
1^0=1,1^1=0
1異或任何數-任何數取反
任何數異或自己=把自己置0
(1)按位異或可以用來使某些特定的位翻轉,如對數10100001的第2位和第3位翻轉,可以將數與00000110進行按位異或運算。
10100001^00000110=10100111
//1010
0001
^0x06
=1010
0001^6
(2)通過按位異或運算,可以實現兩個值的交換,而不必使用臨時變數。例如交換兩個整數a,b的值,可通過下列語句實現:
a=10100001,b=00000110
a=a^b;
//a=10100111
b=b^a;
//b=10100001
a=a^b;
//a=00000110
(3)異或運算子的特點是:數a兩次異或同一個數b(a=a^b^b)仍然為原值a.
c語言a 是什麼意思,C語言中的 a是什麼意思,等於什麼
實際上這個語句的意思是s a b a 也就是說先將b存入陣列中的s a 中,然後將a自加1.多用於對陣列的連續賦值。一般不推薦這樣寫,因為這樣不太為人所理解,容易引起誤會 單純a 是指a a 1,就是增一運算和 a無差異 如果是參與計算的,就有另一層意思,例如b a 這裡是先做b a,再使a增1.a...
C語言中是什麼意思,c語言中的c是什麼意思?
判斷相等的運算子。形式為a b a b可以是任意值或表示式。當a b相等時,a b為真,否則為假。是關係運算子.表示 判斷是否相等的。如 if a b 判斷a與b是否相等,如相等則為真 c語言中 是什麼意思 是關係運算子.表示 判斷是否相等的。如 if a b 判斷a與b是否相等,如相等則為真 因為...
C語言中 是什麼意思,C語言中 和 是什麼意思
c語言中 是複合賦值運算子。複合賦值運算子就是在簡單賦值符 之前加上其它運算子構成,例如 即 a 1 等價於a a 1。的意思就是把左邊的第一個符號移到右邊,其實就是b b c的意思。直接把b c的b 移到右邊,將b的值取出再取出c的值,相加然後賦給b,儲存在b開闢的記憶體空間中,類似的還有,b c...