掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
C語言位運算符

在涪陵等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、網(wǎng)站制作 網(wǎng)站設(shè)計制作定制網(wǎng)站設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),網(wǎng)絡(luò)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,涪陵網(wǎng)站建設(shè)費用合理。
C語言中的位運算符用于對二進制位進行操作,它們包括:
1. 按位與(AND)運算符(&)
按位與運算符(&)用于將兩個數(shù)的對應(yīng)位進行邏輯與操作,如果兩個對應(yīng)位都為1,則結(jié)果為1,否則為0。
| A | B | A & B |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
示例代碼:
#includeint main() { int a = 5; // 二進制表示:0101 int b = 3; // 二進制表示:0011 int result = a & b; // 結(jié)果:0001,即1 printf("a & b = %d ", result); return 0; }
2. 按位或(OR)運算符(|)
按位或運算符(|)用于將兩個數(shù)的對應(yīng)位進行邏輯或操作,如果兩個對應(yīng)位中至少有一個為1,則結(jié)果為1,否則為0。
| A | B | A | B |
| 0 | 0 | 0 | |
| 0 | 1 | 1 | |
| 1 | 0 | 1 | |
| 1 | 1 | 1 |
示例代碼:
#includeint main() { int a = 5; // 二進制表示:0101 int b = 3; // 二進制表示:0011 int result = a | b; // 結(jié)果:0111,即7 printf("a | b = %d ", result); return 0; }
3. 按位異或(XOR)運算符(^)
按位異或運算符(^)用于將兩個數(shù)的對應(yīng)位進行邏輯異或操作,如果兩個對應(yīng)位相異(一個為0,一個為1),則結(jié)果為1,否則為0。
| A | B | A ^ B |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
示例代碼:
#includeint main() { int a = 5; // 二進制表示:0101 int b = 3; // 二進制表示:0011 int result = a ^ b; // 結(jié)果:0110,即6 printf("a ^ b = %d ", result); return 0; }
4. 按位取反(NOT)運算符(~)
按位取反運算符(~)用于將一個數(shù)的所有位取反(0變?yōu)?,1變?yōu)?)。
| A | ~A |
| 0 | 1 |
| 1 | 0 |
示例代碼:
#includeint main() { int a = 5; // 二進制表示:0101 int result = ~a; // 結(jié)果:1010,即6(補碼表示) printf("~a = %d ", result); return 0; }
5. 左移(LEFT SHIFT)運算符(<<)
左移運算符(<<)用于將一個數(shù)的所有位向左移動指定的位數(shù),空出的低位用0填充。
| A | A << n |
| 0 | 0 |
| 1 | 10 | (n=1)
| 1 | 100 | (n=2)
| 1 | 1000 | (n=3)
示例代碼:
#includeint main() { int a = 1; // 二進制表示:0001 int result = a << 2; // 結(jié)果:1000,即8 printf("a << 2 = %d ", result); return 0; }
6. 右移(RIGHT SHIFT)運算符(>>)
右移運算符(>>)用于將一個數(shù)的所有位向右移動指定的位數(shù),空出的高位用符號位填充(對于有符號數(shù),正數(shù)填充0,負數(shù)填充1)。
| A | A >> n |
| 0 | 0 |
| 1 | 0 | (n=1)
| 1 | 0 | (n=2)
| 1 | 0 | (n=3)
示例代碼:
#includeint main() { int a = 8; // 二進制表示:1000 int result = a >> 2; // 結(jié)果:0001,即1 printf("a >> 2 = %d ", result); return 0; }

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流