C語言中a b是什麼意思啊,在C語言中a b是什麼意思啊

2021-03-28 02:47:08 字數 6638 閱讀 8782

1樓:黑馬程式設計師

按位異或

比如 a 為 5 --- 0101

b 為 7 ----0111

______________

0010

對應位相同為0, 不同為1

2樓:赫全宗書

^參與運算的兩個值,如果兩個相應位相同,則結果為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^b是什麼意思啊

3樓:匿名使用者

a 異或 b

按位異或

比如 a 為 5 --- 0101

b 為 7 ----0111

______________

0010

對應位相同為0, 不同為1

希望對你有幫助。謝謝

4樓:匿名使用者

定義異或(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

5樓:匿名使用者

a^b 表示 a 和b 進行 異或運算

在c語言中「a^b」是什麼意思?

6樓:匿名使用者

a 異或 b

按位異或

比如 a 為 5 --- 0101

b 為 7 ----0111

______________

0010

對應位相同為0, 不同為1

希望對你有幫助。謝謝

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,b^=a,a^=b是什麼意思

9樓:匿名使用者

這是在交換a,b的內容;

相當於:

c = a;

a = b;

b = c;

但是這種方式是不會引入第三個變數。切^運算最快。

常見的不

引入第三個變數交換ab的方法還有:

a = a + b;

b = a - b;

a = a - b;

10樓:匿名使用者

相當於:

a = a^b;

b = b^a;

11樓:匿名使用者

按位異或呀!交換異或後的內容

12樓:禰元冀永新

直接用pow是不行的,一萬的一萬次方,計算機根本就表示不了,應該用邊乘邊餘。

#include

intmain()

printf("%d\n",fac);

}return0;}

13樓:種賦奚永昌

a異或b按位異或比如a

為5---0101b為

7----

0111

______________

0010

物件位相同為0,

不同為1

14樓:匿名使用者

不是交換,是按位異或!

c語言中,a^b是什麼意思?

15樓:匿名使用者

^按位異或,

例如#include

int main()

輸出結果是8;

1010//10

0010//2

——^1000//8

16樓:夜風輕吹

位運算:按位異或運算子

看運算子左右值的二進位制數字,一一對應,若相同(即:1-1或者0-0)就為0若不同(1-0或者0-1)則為1

結果得到的二進位制就是結果

17樓:匿名使用者

a的b次方

如2^3就是2的3次方,就是8

c語言中a^b是什麼意思

18樓:匿名使用者

a 異或

bai b

按位異或du

比如zhi a 為 5 --- 0101b 為 7 ---- 0111

______________

0010

物件位相dao同回為0,答

不同為1

19樓:段幹睿思彤瑗

按位異或運算子「^」是雙目運算子。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。

c語言中a!=b 什麼意思呢

20樓:匿名使用者

這個叫三目運算式.標準格式是如下

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

21樓:匿名使用者

a=b!=0;

左邊第一個等號,是賦值運算;

!=是關係運算,進行「不等於」運算;

關係運算的結果是一個邏輯值,c語言把false轉換成0,把truee轉換成1。

這個語句,先進行判斷b是否「不等於」0,如果b為0,給a賦值0,;如果b不為0,給a賦值1。

22樓:匿名使用者

!b在c語言中表示不等於,你這句意思就是說「a != b ,a 不等於 b」就是一個運算子,和加減乘除一樣,只不過在c語言中不等於號表示為這個「!

=」等於號是這個「==」,希望能對你有所幫助。

23樓:匿名使用者

(a-b)條件成立(a-b不等於0則成立),則等於a ,反之等於 b

三目運算子

《表示式1>?《表示式2>:《表示式3>; "?

"運算子的含義是: 先求表示式1的值, 如果為真, 則執行表示式2,並返回表示式2的結果 ; 如果表示式1的值為假, 則執行表示式3 ,並返回表示式3的結果。

24樓:匿名使用者

一般做一個條件

例如if(a!=b )

結果wei真和假

如果a、b不相等,結果真【真用1表示】

如果a=b,則結果假【假用0表示】

25樓:戀戀土豆絲

首先,你要知道==操作符

的優先性是比=高的。

所以a=b==c,先運算b==c,這個表示式的含義是,若b與c相等,那麼得出的值為1,若不等則為0.而根據你的定義,b=2,c=3,顯然兩個數不等,所以a=0.

26樓:天雨下凡

x=(x,b,c);就是把變數c的值賦給變數x

(x,b,c)是逗號表示式,值是最右邊的值,即c的值。

27樓:匿名使用者

說明b是一個指標變數,其定義應該是這樣:int *b,a;

*是取值運算子,*b就是取b指向儲存空間的值;

&是取地址運算子,&a表示取變數a的地址。

*運算子後面應該跟指標;而&後面應該跟變數名(或陣列元素,或結構體變數.成員名)。

28樓:匿名使用者

int a=04,b; a是八進位制數,把a的值轉換成二進位制為:100,補齊8位則是0000 0100

b=a<<1

把a的二進位制形式左移1位,最右邊補1個0

則結果為: 0000 1000

所以b的二進位制形式是:0000 1000

把b轉換成十進位制 則是8

29樓:秋楓

*b=&a這種寫法只有在定義時這麼寫才對,例如 int *b;*b=&a;是錯誤的,正確的是int a=1;int *b=&a;意思是說定義一個指標b,b裡存的是a這個變數的地址。如果定義好了一個這真b,那麼*b就指b這個變數裡存的地址裡的值(有點繞口,慢慢理解),&為取地址符,&a就是a這個變數的地址。

30樓:匿名使用者

朋友,>是比較運算子,!=是邏輯運算子!其優先順序低於比較運算子所以先判斷a>b是否成立,如果成立,則a>b 整體就為1,不成立則為0,

然後判斷a>b 整體是否等於c,如果不等於a>b!=c這個式子整體為1,

如果等於c,則a>b!=c

這個式子整體為0.應該是用來判斷c的值是1或是0的

31樓:

先判斷k是否小於a,如果是,k的值不變,否則k的值為c然後判斷k是否小於b,如果是,k的值為c,否則k的值為a整個相當於k取a,b,c中的最小值

。。。。。。。。。。。。。。。。。。。。。。。。

算了,感覺條件不足。

在c語言中ab是什麼意思啊在C語言中ab是什麼意思啊

a 異或 b 按位異或 比如 a 為 5 0101 b 為 7 0111 0010 對應位相同為0,不同為1 希望對你有幫助。謝謝 定義異或 xor 是一個數 算符。它應用於邏輯運算。異或符號為 其運演算法則為a異或b a b或ab a 為非a 真異或假的結果是真,假異或真的結果也是真,真異或真的結...

C語言中ab是什麼意思

首先你要明白什麼是表示式,還有變數。a是一個變數。a a都是a加了1.比如a原來是1,執行了a 或 a後,a變數的值就是2了 至於a 和 a的區別主要是在表示式上的區別。a是先執行了a加1後,參與表示式的計算。a 是a先參與表示式的計算,後執行自加1.比如 int a,b a 1 如果你想把a的值1...

在c語言中是什麼意思在c語言中是什麼意思

有好多種形式。1.運算子 取餘運算子。2.格式 d是整型,c是字元型,是輸出 ld是輸出長整型。f是輸出浮點型 小數形式 e是輸出浮點型 指數形式 lf le用於輸出double型,g選 e f長度小的一種,且不輸出多餘的零。o輸出八進位制,不會輸出負的,x輸出十六進位制。hd用於輸出短整型。s用於...