📅  最后修改于: 2023-12-03 15:13:48.042000             🧑  作者: Mango
在 C 编程语言中,按位操作通常指按位与、按位或、按位异或和按位左移、右移等操作。
按位与操作符(&)用于将两个数的每个对应的位进行比较,如果两个数的每个对应位上都是 1,则该位的结果为 1,否则为 0。
用法示例:
unsigned int a = 60; // 0011 1100
unsigned int b = 13; // 0000 1101
unsigned int c = 0;
c = a & b; // 0000 1100
printf("a & b = %d\n", c);
按位或操作符(|)用于将两个数的每个对应的位进行比较,如果两个数的每个对应位上至少有一个为 1,则其结果为 1,否则为 0。
用法示例:
unsigned int a = 60; // 0011 1100
unsigned int b = 13; // 0000 1101
unsigned int c = 0;
c = a | b; // 0011 1101
printf("a | b = %d\n", c);
按位异或操作符(^)用于将两个数的每个对应的位进行比较,如果两个数的每个对应位上相同,则其结果为 0,否则为 1。
用法示例:
unsigned int a = 60; // 0011 1100
unsigned int b = 13; // 0000 1101
unsigned int c = 0;
c = a ^ b; // 0011 0001
printf("a ^ b = %d\n", c);
按位左移操作符(<<)用于将一个数的二进制位左移指定的位数。
用法示例:
unsigned int a = 60; // 0011 1100
unsigned int c = 0;
c = a << 2; // 1111 0000
printf("a << 2 = %d\n", c);
按位右移操作符(>>)用于将一个数的二进制位右移指定的位数。
用法示例:
unsigned int a = 60; // 0011 1100
unsigned int c = 0;
c = a >> 2; // 0000 1111
printf("a >> 2 = %d\n", c);
以上就是 C 编程语言中按位操作的基本用法介绍。