新聞中心
C語(yǔ)言位運(yùn)算符

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


咨詢
建站咨詢
