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 种编程语言和工具。 除此之外,它还提供模拟面试和工作协助等全方位的职业支持。
