前言

一、人物簡介
- 第一位閃亮登場,有請今后會一直教我們C語言的老師 —— 自在,

- 第二位上場的是和我們一起學習的小白程式猿 —— 逍遙,

二、構成和表達方式
- 位運算子是一組用于在二進制數之間進行操作的運算子
| 運算子 | 名稱 | 示例 |
|---|---|---|
| & | 位與 | a && b |
| | | 位或 | a | b |
| ^ | 位異或 | a ^ b |
| ~ | 位取反 | ~a |
| << | 二進制左移 | a << 2 |
| >> | 二進制右移 | a >> 2 |
三、位運算子的應用
1、位與運算子 (&)
-
位與運算子用符號
&表示, -
如果兩個運算元的對應位都為1,則位與運算的結果為1,否則結果為0
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進制表示為0b1101
int b = 11; //二進制表示為0b1011
int c = a & b;
printf("%d\n", c); //輸出結果為9,二進制表示為0b1001
return 0;
}

2、位或運算子 (|)
-
位或運算子用符號
|表示, -
如果兩個運算元的對應位中至少有一個為1,則位或運算的結果為1,否則結果為0,
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進制表示為0b1101
int b = 11; //二進制表示為0b1011
int c = a | b;
printf("%d\n", c); //輸出結果為15,二進制表示為0b1111
return 0;
}

3、位異或運算子 (^)
-
位異或運算子用符號
^表示 -
如果兩個運算元的對應位不同,則位異或運算的結果為1,否則結果為0
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進制表示為0b1101
int b = 11; //二進制表示為0b1011
int c = a ^ b;
printf("%d\n", c); //輸出結果為6,二進制表示為0b0110
return 0;
}

4、位取反運算子 (~)
-
位取反運算子用符號
~表示 -
它會對運算元的每個二進制位取反,即0變成1,1變成0
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進制表示為0b1101
int b = ~a;
printf("%d\n", b); //輸出結果為-14,二進制表示為0b11111111111111111111111111110010
return 0;
}

5、左移運算子 (<<)
-
左移運算子用符號
<<表示 -
它將運算元的所有二進制位向左移動指定的位數,并在低位填充0
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進制表示為0b1101
int b = a << 2;
printf("%d\n", b); //輸出結果為52,二進制表示為0b110100
return 0;
}

6、右移運算子 (>>)
-
右移運算子用符號
>>表示, -
它將運算元的所有二進制位向右移動指定的位數,并在高位填充0或1(具體取決于運算元的符號)
-
示例代碼
#include <stdio.h>
int main() {
int a = 13; //二進制表示為0b1101
int b = a >> 2;
printf("%d\n", b); //輸出結果為3,二進制表示為0b0011
return 0;
}

小結
通過本文的講解,我們學會了6種位運算子的基礎用法,在接下來的文章中,將會繼續介紹這6種位運算子的高級用法,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/549489.html
標籤:其他
上一篇:現在還值得學Python嗎?
