离散数学真值表 c语言
时间: 2024-10-17 15:02:12 浏览: 41
离散数学中的真值表通常用于逻辑运算,如与(AND)、或(OR)、非(NOT)等布尔运算。在C语言中,你可以用位操作来模拟这些逻辑运算,因为C语言的int类型可以表示二进制数。
例如,对于两个整数a和b:
- a & b 对应于 AND 运算:取a和b每位都为1的地方的值,其余位置为0。
- a | b 对应于 OR 运算:取a和b每位中任一为1的位置的值,其余位置为0。
- ~a 对应于 NOT 运算:对a的每一位取反,即0变1,1变0。
下面是一个简单的示例代码,展示如何生成一个基本的AND、OR、NOT运算的真值表:
```c
#include <stdio.h>
void printTruthTable(int a, int b) {
printf("| %d | %d | %d |\n", a, b, (a & b)); // AND
printf("| %d | %d | %d |\n", a, b, (a | b)); // OR
printf("| %d | %d | %d |\n", a, b, (~a)); // NOT
}
int main() {
for (int i = 0; i < 2; i++) { // 从0到1(二进制下)
for (int j = 0; j < 2; j++) {
printTruthTable(i, j);
}
}
return 0;
}
```
在这个例子中,程序会打印出所有输入组合的AND、OR和NOT结果。运行这个程序,你会看到对应的真值表。
阅读全文