1樓:匿名使用者
變數a中的數值與指標變數b指向的數進行異或運算,運算結果儲存到a
運算完後,指標變數b自加1指向下一個數
c語言中,a^b是什麼意思?
2樓:匿名使用者
^按位異或,
例如#include
int main()
輸出結果是8;
1010//10
0010//2
——^1000//8
3樓:夜風輕吹
位運算:按位異或運算子
看運算子左右值的二進位制數字,一一對應,若相同(即:1-1或者0-0)就為0若不同(1-0或者0-1)則為1
結果得到的二進位制就是結果
4樓:匿名使用者
a的b次方
如2^3就是2的3次方,就是8
在c語言中a^b是什麼意思啊
5樓:匿名使用者
a 異或 b
按位異或
比如 a 為 5 --- 0101
b 為 7 ----0111
______________
0010
對應位相同為0, 不同為1
希望對你有幫助。謝謝
6樓:匿名使用者
定義異或(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
7樓:匿名使用者
a^b 表示 a 和b 進行 異或運算
c語言a^=b,b^=a,a^=b是什麼意思
8樓:匿名使用者
這是在交換a,b的內容;
相當於:
c = a;
a = b;
b = c;
但是這種方式是不會引入第三個變數。切^運算最快。
常見的不
引入第三個變數交換ab的方法還有:
a = a + b;
b = a - b;
a = a - b;
9樓:匿名使用者
相當於:
a = a^b;
b = b^a;
10樓:匿名使用者
按位異或呀!交換異或後的內容
11樓:禰元冀永新
直接用pow是不行的,一萬的一萬次方,計算機根本就表示不了,應該用邊乘邊餘。
#include
intmain()
printf("%d\n",fac);
}return0;}
12樓:種賦奚永昌
a異或b按位異或比如a
為5---0101b為
7----
0111
______________
0010
物件位相同為0,
不同為1
13樓:匿名使用者
不是交換,是按位異或!
c語言中a^b是什麼意思啊?
14樓:黑馬程式設計師
按位異或
比如 a 為 5 --- 0101
b 為 7 ----0111
______________
0010
對應位相同為0, 不同為1
15樓:赫全宗書
^參與運算的兩個值,如果兩個相應位相同,則結果為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 什麼意思呢
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=b!=0;
左邊第一個等號,是賦值運算;
!=是關係運算,進行「不等於」運算;
關係運算的結果是一個邏輯值,c語言把false轉換成0,把truee轉換成1。
這個語句,先進行判斷b是否「不等於」0,如果b為0,給a賦值0,;如果b不為0,給a賦值1。
18樓:匿名使用者
!b在c語言中表示不等於,你這句意思就是說「a != b ,a 不等於 b」就是一個運算子,和加減乘除一樣,只不過在c語言中不等於號表示為這個「!
=」等於號是這個「==」,希望能對你有所幫助。
19樓:匿名使用者
(a-b)條件成立(a-b不等於0則成立),則等於a ,反之等於 b
三目運算子
《表示式1>?《表示式2>:《表示式3>; "?
"運算子的含義是: 先求表示式1的值, 如果為真, 則執行表示式2,並返回表示式2的結果 ; 如果表示式1的值為假, 則執行表示式3 ,並返回表示式3的結果。
20樓:匿名使用者
一般做一個條件
例如if(a!=b )
結果wei真和假
如果a、b不相等,結果真【真用1表示】
如果a=b,則結果假【假用0表示】
21樓:戀戀土豆絲
首先,你要知道==操作符
的優先性是比=高的。
所以a=b==c,先運算b==c,這個表示式的含義是,若b與c相等,那麼得出的值為1,若不等則為0.而根據你的定義,b=2,c=3,顯然兩個數不等,所以a=0.
22樓:天雨下凡
x=(x,b,c);就是把變數c的值賦給變數x
(x,b,c)是逗號表示式,值是最右邊的值,即c的值。
23樓:匿名使用者
說明b是一個指標變數,其定義應該是這樣:int *b,a;
*是取值運算子,*b就是取b指向儲存空間的值;
&是取地址運算子,&a表示取變數a的地址。
*運算子後面應該跟指標;而&後面應該跟變數名(或陣列元素,或結構體變數.成員名)。
24樓:匿名使用者
int a=04,b; a是八進位制數,把a的值轉換成二進位制為:100,補齊8位則是0000 0100
b=a<<1
把a的二進位制形式左移1位,最右邊補1個0
則結果為: 0000 1000
所以b的二進位制形式是:0000 1000
把b轉換成十進位制 則是8
25樓:秋楓
*b=&a這種寫法只有在定義時這麼寫才對,例如 int *b;*b=&a;是錯誤的,正確的是int a=1;int *b=&a;意思是說定義一個指標b,b裡存的是a這個變數的地址。如果定義好了一個這真b,那麼*b就指b這個變數裡存的地址裡的值(有點繞口,慢慢理解),&為取地址符,&a就是a這個變數的地址。
26樓:匿名使用者
朋友,>是比較運算子,!=是邏輯運算子!其優先順序低於比較運算子所以先判斷a>b是否成立,如果成立,則a>b 整體就為1,不成立則為0,
然後判斷a>b 整體是否等於c,如果不等於a>b!=c這個式子整體為1,
如果等於c,則a>b!=c
這個式子整體為0.應該是用來判斷c的值是1或是0的
27樓:
先判斷k是否小於a,如果是,k的值不變,否則k的值為c然後判斷k是否小於b,如果是,k的值為c,否則k的值為a整個相當於k取a,b,c中的最小值
。。。。。。。。。。。。。。。。。。。。。。。。
算了,感覺條件不足。
28樓:匿名使用者
可以看出f是一個自定義函式。
所以呼叫f函式,並將a,b作為引數傳遞給f函式執行,將結果賦值給c
29樓:匿名使用者
三目運算子執行順序為自右向左。
所以首先執行c
此時,要看c與b的大小,整個式子就分為以下兩種情況:
c小於b: k< a ? k:cc大於等於b: k< a ? k:a這下你就明白了吧。。。
30樓:匿名使用者
首先 a 、b是你宣告的變數 a!=b 意思就是a與b不相等。如果是指標型別 就是a 和b 表示一個地址 就是說a b 地址不相同 可以 看看 關於c語言的書 這是個很基礎的問題
31樓:蔚海韻
先判斷a>b是否成立,如果成立,則a>b 整體就為1,不成立則為0,
然後判斷a>b 整體是否等於c,如果不等於a>b!=c這個式子整體為1,
如果等於c,則a>b!=c這個式子整體為0.
32樓:藥名
條件表示式,個人理解:如果k>a則輸入k,如果k<=a,判斷c
33樓:匿名使用者
首先你要明白什麼du
是表示式,還有zhi變數。
a是一dao個變數。
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,付給b.那麼,但你又想使得a加1。你就可以這麼做
b=a++;//++在a之後,先把a的值付給b,然後再本身加1 。這時候b=1,a=2了。
//如果你還不懂得話。b=a++;的意思 就是b=a;a=a+1;這兩句意思
//而b=++a 就是 a=a+1;b=a;的意思
至於a++=a+a+1
好像寫錯了吧
是a+=a+a+1
優先順序等於 a=a+(a+a+1)//a+=b 是 a=a+b 的簡化
!= 不等於,是條件運算子,用來判斷真假的。
比如1!=2; 表示式的值就是假,也就是0;
c語言很多式子都是簡化的,這樣雖然可以節省**,卻比較讓人糊塗。
c語言中 什麼意思啊,在c語言中 是什麼意思
這是兩抄個運算子擺放在一起而已 bai 是賦值運算子 邏輯 du非運算子,邏zhi輯操作符一 dao般將其運算元視為條件表示式,返回結果為bool型別 首先對其運算元求值,若結果為0,則條件為假 false 否則為真 true 優先順序上 先於 所有比如有下面的式子 int i i 5 這個要怎麼理...
c語言中是什麼意思,C語言中 是什麼意思
等於的意思 是賦值的意思。只要理解到 賦值不是等於 就能分辨了。比如 int a a 2 賦值,讓a的值變成2 a原來是多少是不知道的 if a 3 判斷 a是否等於3,此時a的值仍然是2a 這是一個邏輯符號,也就是說,結果是真或者假.a b 當a與b相等時是真,否則為假.還有,迴應一下klboy1...
c語言中for是什麼意思C語言中for是什麼意思?
在c語言中,for語句使用最為靈活,它的一般形式為 for 表示式1 表示式2 表示式3 語句它的執行過程如下 先求解表示式1。求解表示式2,若其值為真 非0 則執行for語句中指定的內嵌語句,然後執行下面第3 步 若其值為假 0 則結束迴圈,轉到第5 步。求解表示式3。轉回上面第2 步繼續執行。迴...