前言
一、人物簡(jiǎn)介
- 第一位閃亮登場(chǎng),有請(qǐng)今后會(huì)一直教我們C語(yǔ)言的老師 —— 自在。
- 第二位上場(chǎng)的是和我們一起學(xué)習(xí)的小白程序猿 —— 逍遙。
二、構(gòu)成和表達(dá)方式
- 位運(yùn)算符是一組用于在二進(jìn)制數(shù)之間進(jìn)行操作的運(yùn)算符
運(yùn)算符 | 名稱(chēng) | 示例 |
---|---|---|
& | 位與 | a && b |
| | 位或 | a | b |
^ | 位異或 | a ^ b |
~ | 位取反 | ~a |
<< | 二進(jìn)制左移 | a << 2 |
>> | 二進(jìn)制右移 | a >> 2 |
三、位運(yùn)算符的應(yīng)用
1、位與運(yùn)算符 (&)
-
位與運(yùn)算符用符號(hào)
&
表示。 -
如果兩個(gè)操作數(shù)的對(duì)應(yīng)位都為1,則位與運(yùn)算的結(jié)果為1,否則結(jié)果為0
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進(jìn)制表示為0b1101
int b = 11; //二進(jìn)制表示為0b1011
int c = a & b;
printf("%d\n", c); //輸出結(jié)果為9,二進(jìn)制表示為0b1001
return 0;
}
2、位或運(yùn)算符 (|)
-
位或運(yùn)算符用符號(hào)
|
表示。 -
如果兩個(gè)操作數(shù)的對(duì)應(yīng)位中至少有一個(gè)為1,則位或運(yùn)算的結(jié)果為1,否則結(jié)果為0。
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進(jìn)制表示為0b1101
int b = 11; //二進(jìn)制表示為0b1011
int c = a | b;
printf("%d\n", c); //輸出結(jié)果為15,二進(jìn)制表示為0b1111
return 0;
}
3、位異或運(yùn)算符 (^)
-
位異或運(yùn)算符用符號(hào)
^
表示 -
如果兩個(gè)操作數(shù)的對(duì)應(yīng)位不同,則位異或運(yùn)算的結(jié)果為1,否則結(jié)果為0
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進(jìn)制表示為0b1101
int b = 11; //二進(jìn)制表示為0b1011
int c = a ^ b;
printf("%d\n", c); //輸出結(jié)果為6,二進(jìn)制表示為0b0110
return 0;
}
4、位取反運(yùn)算符 (~)
-
位取反運(yùn)算符用符號(hào)
~
表示 -
它會(huì)對(duì)操作數(shù)的每個(gè)二進(jìn)制位取反,即0變成1,1變成0
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進(jìn)制表示為0b1101
int b = ~a;
printf("%d\n", b); //輸出結(jié)果為-14,二進(jìn)制表示為0b11111111111111111111111111110010
return 0;
}
5、左移運(yùn)算符 (<<)
-
左移運(yùn)算符用符號(hào)
<<
表示 -
它將操作數(shù)的所有二進(jìn)制位向左移動(dòng)指定的位數(shù),并在低位填充0
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進(jìn)制表示為0b1101
int b = a << 2;
printf("%d\n", b); //輸出結(jié)果為52,二進(jìn)制表示為0b110100
return 0;
}
6、右移運(yùn)算符 (>>)
-
右移運(yùn)算符用符號(hào)
>>
表示。 -
它將操作數(shù)的所有二進(jìn)制位向右移動(dòng)指定的位數(shù),并在高位填充0或1(具體取決于操作數(shù)的符號(hào))
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進(jìn)制表示為0b1101
int b = a >> 2;
printf("%d\n", b); //輸出結(jié)果為3,二進(jìn)制表示為0b0011
return 0;
}
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-402634.html
小結(jié)
通過(guò)本文的講解,我們學(xué)會(huì)了6種位運(yùn)算符的基礎(chǔ)用法,在接下來(lái)的文章中,將會(huì)繼續(xù)介紹這6種位運(yùn)算符的高級(jí)用法。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-402634.html
到了這里,關(guān)于逍遙自在學(xué)C語(yǔ)言 | 位運(yùn)算符的基礎(chǔ)用法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!