C中的位運算符[帶編碼示例]
已發表: 2020-10-26目錄
介紹
運算符是每種編程語言的重要組成部分。 它們是用於實現某些邏輯、數學或其他編程操作的符號。 C 提供了各種運算符來執行多種操作,例如算術、邏輯和位操作。 C中有八種不同類型的運算符。它們是:
- C中的算術運算符
- C中的邏輯運算符
- C中的條件運算符
- C中的關係運算符
- C中的遞增和遞減運算符
- C 中的位運算符
- C 中的賦值運算符
- C中的特殊運算符
在本文中,您將了解C 中的位運算符以及如何實現它。
什麼是位運算符?
C 中的位運算符是一種運算符,它對位數組、位字符串進行操作,並在位級別使用單個位調整二進制值。 為了處理電子和物聯網相關的操作,程序員使用按位運算符。 它可以在位級別上更快地運行。
位運算符 在 C中,對其操作數的各個位執行操作,其中操作數是運算符對其進行操作的值或表達式。 這些運算符還用於執行需要處理器直接支持的核心操作以及高級算術運算。 我們可以根據其工作原理將按位運算符進一步細分為三種子類型,邏輯(按位與、或和異或)、移位(右移和左移)和補碼(按位非)。
C中有六種不同的位運算符。 這些是:
· 按位與運算符 (&)

· 按位或運算符 (|)
· 按位異或運算符 (^)
· 二進制補碼或按位非運算符 (~)
· 按位左移運算符(<<)
· 按位右移運算符 (>>)
使用位運算符,程序員可以更改操作數中包含的任何值的各個位。 我們可以將計算機內存的單個字節視為 8 位,它表示 8 個標誌的真假狀態。 位運算符通常用於定義操作系統和驅動軟件中的標誌值。 例如,在文件屬性中,只讀模式在概念上表示為操作系統中的標誌位,按位運算符用於在真值和假值之間切換。
下表顯示了按位運算符的計算結果。
X | 是的 | x 和 y | x | 是的 | x ^ y |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
C中有六種不同類型的位運算符。 這些是:
C 中的位與 (&): C 編譯器使用 & 運算符識別位與。 它需要兩個操作數並對兩個操作數編號的每一位執行 AND 操作。 它是一個二元運算符。 僅當兩個位都為 1 時,此運算符的輸出才會導致 1。

C 中的位或 (|): C 編譯器識別位或與 | 操作員。 它需要兩個操作數並對兩個操作數編號的每一位執行 OR 運算。 它也是一個二元運算符。 如果兩位中的任何一位為 1,則此運算符的輸出將導致 1。
C 中的位異或 (^): C 編譯器使用 ^ 運算符識別位異或。 它需要兩個操作數並對兩個操作數編號的每一位執行 XOR 操作。 它也是一個二元運算符。 如果兩個位具有不同的值,則此運算符的輸出將導致 1。
C 中的二進制補碼或按位非運算符 (~): C 編譯器使用 ~ 運算符識別按位非。 它只需要一個操作數並執行它的所有數字的反轉。 它是一元運算符。 此運算符的輸出將反轉該操作數的所有現有位。
C 中的按位左移運算符(<<): C 編譯器使用此 <<識別左移操作。 它只需要兩個操作數並將第一個操作數的所有位向左移動。 第二個操作數決定了這個操作符將移位多少位。 它是一個二元運算符。
C 中的按位右移運算符 (>>): C 編譯器使用此 >> 識別左移操作。 它只需要兩個操作數並將第一個操作數的所有位向右移動。 第二個操作數決定了這個操作符將移位多少位。 它是一個二元運算符。
閱讀: Python 中的運算符:算術、關係、邏輯等初學者指南
C中的位運算符程序
現在讓我們看一下使用所有位運算符的程序。
#include <stdio.h>
主函數()
{
無符號字符 x = 20, y = 21; // x = 20 (00010100), y = 21 (00010101)
整數 g = 0;
g = x & y; /* 20 = 010100 */
printf(" 按位與的結果是 %d \n", g );
g = x | 是; /* 21 = 010101 */
printf(" 按位或的結果是 %d \n", g );
g = x ^ y; /* 1 = 0001 */
printf(" 按位異或的結果是 %d \n", g );
g = ~x;
printf(" 按位非運算的結果是 %d \n", g );
g = x << 1;
printf(" 按位左移的結果是 %d \n", g );
g = x >> 1;
printf(" 按位右移的結果是 %d \n", g );
返回0;
}
輸出:
按位與的結果是 20
按位或的結果是 21
按位異或的結果是 1
按位非的結果是 -21

按位左移的結果是 40
按位右移的結果是 10
另請閱讀: Python 教程:設置、工具、功能、應用程序、優勢、比較
結論
位運算符是 C 中用於位級編程的一種特殊類型的運算符。 了解按位運算符的使用非常重要,因為它帶來了一種節省表示數據空間的有效方法。 程序員在各個領域使用這些運算符,例如係統編程、嵌入式編程和設計協議。 因此,程序員需要知道它的用途。
upGrad帶來了 C 編程,以及 upGrad 的全棧開發軟件開發專業化 PG 文憑。 一個讓你成為全棧開發人員並學習構建一些很棒的應用程序的程序。 這是一個為期 12 個月的廣泛計劃,包括處理實時項目和任務,還培訓 15 種編程語言和工具。 除此之外,它還提供模擬面試和工作協助等全方位的職業支持。