📜  opération bit à bit - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:33:18.523000             🧑  作者: Mango

Opération Bit à Bit - C 编程语言

在 C 编程语言中,我们可以使用位运算符进行比特操作。位运算符(也称为“二进制运算符”)允许我们将整数转换为二进制形式,然后使用按位运算符操作它们的不同位。

Bitwise Operators(按位运算符)

以下是 C 语言中可用的按位运算符:

  • & (AND):逐位比较两个运算符,返回结果为1的位。
  • | (OR):逐位比较两个运算符,返回结果为1的位,或两个运算符中的任何一位。
  • ^ (XOR):逐位比较两个运算符,返回结果位1的位,如果两个运算符的某一位为1,则返回0。
  • ~ (NOT):对单个运算符的每个位进行操作,反转操作数的比特( ~1 = 0, ~0 = 1)。
  • << (left shift):将运算符的每个位向左移动指定数量的位置,右侧以零填充。
  • >> (right shift):将运算符的每个位向右移动指定数量的位置,左侧以符号位填充。
Bitwise Examples(按位示例)

以下是按位运算符在 C 中的一些示例:

#include <stdio.h>

int main() {
   unsigned int a = 60;  /* 60 = 0011 1100 */
   unsigned int b = 13;  /* 13 = 0000 1101 */
   int result = 0;

   result = a & b;       /* 12 = 0000 1100 */
   printf("a & b = %d\n", result );

   result = a | b;       /* 61 = 0011 1101 */
   printf("a | b = %d\n", result );

   result = a ^ b;       /* 49 = 0011 0001 */
   printf("a ^ b = %d\n", result );

   result = ~a;          /* -61 = 1100 0011 */
   printf("~a = %d\n", result );

   result = a << 2;      /* 240 = 1111 0000 */
   printf("a << 2 = %d\n", result );

   result = a >> 2;      /* 15 = 0000 1111 */
   printf("a >> 2 = %d\n", result );

   return 0;
}

输出:

a & b = 12
a | b = 61
a ^ b = 49
~a = -61
a << 2 = 240
a >> 2 = 15

这些示例将两个整数变量的值设置为十进制数字,然后使用位运算符操作它们。