c語言ab,ba,ab是什麼意思

2021-03-03 22:14:53 字數 5105 閱讀 5221

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...