3 回答

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