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