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