3 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
b&c是按位與運(yùn)算符,它的運(yùn)算時(shí)自左至右的舉個(gè)例子:參加運(yùn)算的兩個(gè)數(shù)據(jù),按二進(jìn)位進(jìn)行“與”運(yùn)算。如果兩個(gè)相應(yīng)的二進(jìn)位都為1,則該位的結(jié)果值為1,否則為0。即
0&0=0;0&1=0;1&0=0;1&1=1;
例如: 3&5 并不等于8,應(yīng)該是按位與。
3 = 00000011
(&) 5 = 00000101
00000001
因此,3&5的值得1。如果參加&是負(fù)數(shù)運(yùn)算的是負(fù)數(shù)(如-3 & -5),則以補(bǔ)碼形式表示為二進(jìn)制數(shù),然后按位進(jìn)行“與”運(yùn)算。
按位與有一些特殊的用途:
(1)清零。 如果想將一個(gè)單元清零,即使其全部二進(jìn)位為0,只要找一個(gè)二進(jìn)制數(shù),其中各個(gè)位符合以下條件:原來的數(shù)中為1的位,新數(shù)中相應(yīng)位為0。然后使二者進(jìn)行&運(yùn)算,即可達(dá)到清零目的。
如:原有數(shù)為00101011,另找一個(gè)數(shù),設(shè)它為10010100,它符合以上條件,即在原數(shù)為1的位置上,它的位值均為0。將兩個(gè)數(shù)進(jìn)行&運(yùn)算:
00101011
(&) 10010100
00000000
其道理是顯然的。
當(dāng)然也可以不用10010100這個(gè)數(shù)而用其他數(shù)(如01000100)也可以,只要符合上述條件即可。
(2)取一個(gè)數(shù)中某些指定位。如有一個(gè)整數(shù)a(2個(gè)字節(jié)),想要其中的低字節(jié)。
只需將a與(737)8按位與即可。
第二個(gè) &b 這其中&是取地址的意思這點(diǎn)在輸入數(shù)據(jù)和指針運(yùn)算時(shí)用的比較多
例如:scanf(“a=%d\n”,&a) 還有就是指針運(yùn)算
int*p1
p1=&a
- 3 回答
- 0 關(guān)注
- 403 瀏覽
添加回答
舉報(bào)