📅  最后修改于: 2023-12-03 14:59:37.921000             🧑  作者: Mango
在C语言中,竖杠符号(|)具有位运算和逻辑运算两种功能。
按位或运算(|)是一种二进制运算,它将参与运算的两个数据的每一个对应位进行运算,只要其中有一个是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
逻辑或运算(|)是一种布尔运算,当运算符两侧至少有一个表达式的值为真(非零),那么结果为真(非零),否则结果为假(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语言中的“|”符号在位运算和逻辑运算中的用法。