c語言中a b什麼時候,c語言中a b什麼時候

2022-11-13 08:15:13 字數 4507 閱讀 8706

1樓:風若遠去何人留

a&b中的&是按位與操作,其規則為,

當a和b對應位上的值均為1時,結果的該位上為1,否則結果該位上為0。

即1&1=1

1&0=0

0&1=0

0&0=0

所以,a&b結果為1的情況有很多種,只要a和b的最低位均為1,其它位上均不同時為1即可。

如0x33 & 0x41

或0xff & 0x01等等。

2樓:千鋒教育

符號 & 在c語言中是 位與 的意思。所以在 a和b的 二進位制形式中,當 a和b最後一位(也就是最低位)都為1,而其他位都不同時為1的情況下,a&b==1。如你說的if(add&0x80==1)

0x80的二進位制是 ‭10000000‬ 除第1位高位是1其餘全是0.而 只有兩個位都是1時 即 1&1=1

,1&0 和 0&0都是0.所以不管add是多少add&0x80都不等1。但是add的最高位為1的話 add&0x80 就不會為0

3樓:

0x80的二進位制表示為10000000,你的微控制器應該是8位微控制器,這應該是檢測add的最高位是否為1

4樓:

a&b, 只有:

當 a 和b 最低位 同時等於 1,

並且, 其他位不同時等於1,

才 等於1,

add&0x80==1 永不成立.

(add&0x80) >> 7 ==1 -- 最高位等於1 就 成立.

5樓:江小右

a>0,b>0的時候為1

c語言中,a==b與b==a有什麼區別麼?

6樓:匿名使用者

沒區別,==是恆等於,不存在賦值問題,單純比較,怎麼寫都行,但是=號就不一樣了,是右邊賦值給左邊

7樓:育知同創教育

寫法幾乎沒有什麼區別。前後順序不影響的。

8樓:匿名使用者

雙等號 是比較運算子, 沒有什麼區別

9樓:幻世封神

沒什麼區別,看個人習慣了

請採納吧

10樓:研凌工控電腦

無區別,這和只有一個=號不同

c語言中7%5=2,為什麼

11樓:兄弟連教育北京總校

%表示為取餘,5%10的值為0。%中除數與被除數都須為整數。-3%2為-1,3%2為1。取餘後的結果與被除數的符號一致。

12樓:諾闊華逸仙

x%5=(x+5)%5=(x-5)%5

-2%5=3%5=3

c語言中!=什麼意思啊?

13樓:兄弟連教育北京總校

這是兩抄個運算子擺放在一起而已

「bai=」是賦值運算子

「!」邏輯

du非運算子,邏zhi輯操作符一

dao般將其運算元視為條件表示式,返回結果為bool型別:首先對其運算元求值,若結果為0,則條件為假(false),否則為真(true)

優先順序上「!」先於「=」

所有比如有下面的式子

int i;

i=!5;

這個要怎麼理解呢?

1.根據運算子優先順序,!先於=

2.首先5作為!的運算元,求值!5的結果是bool型的false3.然後false隱士轉換成int型,即04.所以i裡面的值是整形0

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語言中,/是表示什麼意思

16樓:51cto學院

一般來說是數學上的除以的意思,相當於「÷」。

不過它還有和其他兩種用法,一個是兩個連用——//,是單行註釋的意思。

另一個是和星號連用——/* */,是一大段內容的註釋。

被註釋掉的內容不會被編譯,只是起到一個說明的作用。

17樓:匿名使用者

相當於就是數學中的除號,分子在左,分母在右

18樓:匿名使用者

除法的意思,a/b,就是a除以b

&=在c語言中怎麼用

19樓:韓稚生

換行符就是回車

轉義字元是一種特殊的字元常量。轉義字元以反斜線"\"開頭,後跟版一個或幾個字元權。轉義字元具有特定的含義,不同於字元原有的意義,故稱「轉義」字元。

例如,在前面各例題printf函式的格式串中用到的「\n」就是一個轉義字元,其意義是「回車換行」。轉義字元主要用來表示那些用一般字元不便於表示的控制**。

常用的轉義字元及其含義

轉義字元 轉義字元的意義 ascii**

\n 回車換行 10

\t 橫向跳到下一製表位置 9

\b 退格 8

\r 回車 13

\f 走紙換頁 12

\\ 反斜線符"\" 92

\' 單引號符 39

\」 雙引號符 34

\a 鳴鈴 7

\ddd 1~3位八進位制數所代表的字元

\xhh 1~2位十六進位制數所代表的字元

廣義地講,c語言字符集中的任何一個字元均可用轉義字元來表示。表中的\ddd和\xhh正是為此而提出的。ddd和hh分別為八進位制和十六進位制的ascii**。

如\101表示字母"a" ,\102表示字母"b",\134表示反斜線,\xoa表示換行等。

20樓:千鋒教育

&的意思是按位與  其計算方式為: 1&1=1;1&0=0;0&0=0;  在c語言中所有非0的數都認作1s

所有&=的意思是 先進行內&運算並進行賦值 比如容 :

int a=5;

a&=0;

printf("%d\n",a);//0

21樓:匿名使用者

a &= b;等同於a = a&b;&是位與,=是賦值

22樓:匿名使用者

a &= b;等同於a = a&b;

23樓:苦澀無人愛

兩個和一塊的出現的話還沒見過

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

24樓:匿名使用者

^按位異或,

例如#include

int main()

輸出結果是8;

1010//10

0010//2

——^1000//8

25樓:夜風輕吹

位運算:按位異或運算子

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

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

26樓:匿名使用者

a的b次方

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

c語言中int leap(int year)

27樓:51cto學院

這個是在main之外定義的全域性變數啊。

沒有規定必須以main開頭啊

C語言中什麼時候需要手動新增,C語言中什麼時候需要手動新增

0 是字元陣列裡的結束標誌,庫中的strcpy在複製完字串時給你加上了 0 結束符,所以不須要你再新增。而如果是你對字元陣列操作時就要加,比如你把a串的字元複製給b,b i a j 複製完最後一個時你就要加上 0 b i 0 b i 0 呼叫strcpy函式的時候,也是一個一個字元的複製 0 也複製...

在C語言中0是真還是假,C語言中什麼時候0表示真,1表示假

這裡的 0或者1 真或假 不能說明程式出錯了,反而說明程式執行成功了。因為前面的都執行完成才執行return 按照我個人的理解,這句語句的意義在不在於函式的返回值是什麼,意義在返回值的型別和宣告函式時候的返回值型別一致就行。因為如果不返回,或者返回的值型別有問題,就出錯。如果你的main定義為voi...

c語言裡ab的含義是什麼C語言中ab是什麼含義

c在這裡遵循詞法解析的貪婪匹配原則 優先匹配儘可能多字元的符號,無論是否有語法錯誤 因為詞法分析時還沒有語法檢查 於是a b會被當作a b而不是a b 可能是合法的 考慮。這是非法的表示式,因此產生編譯錯誤。這個問題在iso c99標準中直接以示例描述,原文如下 6.46 example 2 the...