📜  C |功能|问题6(1)

📅  最后修改于: 2023-12-03 14:59:37.921000             🧑  作者: Mango

C语言中的 '|' 符号

在C语言中,竖杠符号(|)具有位运算和逻辑运算两种功能。

1. 位运算——按位或运算

按位或运算(|)是一种二进制运算,它将参与运算的两个数据的每一个对应位进行运算,只要其中有一个是1,那么结果对应位就是1,否则对应位为0。

下面是按位或运算的真值表:

| a | b | a | b | | :---: | :---: | :-------: | | 0 | 0 | 0 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 1 |

按位或运算的实例代码:

unsigned char a = 60;  // 二进制表示00111100
unsigned char b = 13;  // 二进制表示00001101
unsigned char c = a | b;  // 二进制表示00111101,即61
2. 逻辑运算——逻辑或运算

逻辑或运算(|)是一种布尔运算,当运算符两侧至少有一个表达式的值为真(非零),那么结果为真(非零),否则结果为假(0)。

逻辑或运算的真值表:

| a | b | a || b | | :---: | :---: | :-----------: | | 0 | 0 | 0 | | 0 | 1 | 1 | | 1 | 0 | 1 | | 1 | 1 | 1 |

逻辑或运算的实例代码:

int a = 6;
int b = 3;
if (a > 5 || b > 4) {
    printf("a或b至少有一个大于5\n");
} else {
    printf("a和b都小于等于5\n");
}

注意事项:

  • 按位或运算只能用于整数类型,逻辑或运算可以用于任何类型。
  • 按位或运算符优先级低于逻辑或运算符。如果要进行多个运算,则应使用括号明确运算的优先级。

以上就是C语言中的“|”符号在位运算和逻辑运算中的用法。