我现在正在研究一个难题....尝试
if (x==5 || x==7)
使用按位运算(在 C 中)编写。一直在研究它....无法弄清楚。
任何帮助,将不胜感激!谢谢
Ps 这不是家庭作业...试图学习考试。
编辑,因此格式类似于
if (x _ _)
空格中的按位运算
SORRY 需要指定,只能是两个字符(运算符或数值) 所以%8
例如
我现在正在研究一个难题....尝试
if (x==5 || x==7)
使用按位运算(在 C 中)编写。一直在研究它....无法弄清楚。
任何帮助,将不胜感激!谢谢
Ps 这不是家庭作业...试图学习考试。
编辑,因此格式类似于
if (x _ _)
空格中的按位运算
SORRY 需要指定,只能是两个字符(运算符或数值) 所以%8
例如
7d = 111b 和 5d = 101b
所以位 0 必须打开,位 1 不关心,位 2 必须打开,位 3-31 必须关闭。因此,屏蔽位 1 并测试 101b
所以你的测试变成 ((x & ~2) == 5)
然后向 Bing 或维基百科询问“卡诺图”,以便您可以自己减少表情。
汤姆在下面的回答也是正确的并且更简单。你可以写
((x & 5) == 5)
这稍微快一点。也许我应该使用卡诺图!
你可以用 '101' 和它,你得到 5 和 7 的相同结果,即 101。