A,B两个输入变量中只有一个为1,输出就为1当A,B均为0时输出才为0,这逻辑运算称为
答案:2 悬赏:80 手机版
解决时间 2021-04-16 14:28
- 提问者网友:寂寞梧桐
- 2021-04-15 16:09
A,B两个输入变量中只有一个为1,输出就为1当A,B均为0时输出才为0,这逻辑运算称为
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-04-15 17:10
位运算里的 或运算 符号是 |
全部回答
- 1楼网友:未来江山和你
- 2021-04-15 17:39
|这个函数的变量比较少,画一个“真值表”就行了(不同教材与或非的符号不大一样。你这里ab是或,+是与,横线是非吧?):
a b c y
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1上面的结果我是用c程序输出的,代码如下:
#include
#define bit_set(mask, n) ((mask) |= (1 << (n)))
#define bit_unset(mask, n) ((mask) &= ~(1 << (n)))
#define bit_isset(mask, n) ((mask) & (1 << (n)))
#define bit_empty(mask) ((mask) = 0)
#define bit_fill(mask) ((mask) = ~0)
int main(int argc, char *argv[])
{
int i;
printf("a b c y\n");
for(i=0; i<8; i++)
{
char a, b, c, y;
a = bit_isset(i, 2);
b = bit_isset(i, 1);
c = bit_isset(i, 0);
// y = ab + bc + (!a)c
y = (a || b) && (b || c) && (!a || c);
#define tobool(x) ((x) ? 1 : 0)
printf("%d %d %d %d\n", tobool(a), tobool(b), tobool(c), tobool(y));
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯