【发布时间】:2011-05-16 17:04:10
【问题描述】:
我想知道您在开发一种基于位执行 if/else 切换/案例的有效算法时有何想法。我有 8 位可以使用,我需要将它们分为高阶位和低阶位,如下所示:
0000 1111
每一半都包含一些关于哪些位被打开的信息。例如,如果下半部分(这个小端机器中的1111)实际上是0010,就会发生一些事情。此外,如果高端是1000,则会发生其他情况。
我想将上半部分右移并进行AND 比较会很有效(比如(x >> 4) & 8),但我不确定下半部分做什么更聪明,因为左移和比较一些奇怪的数字。
再次感谢您的见解。
【问题讨论】:
标签: c logic bit bit-shift bits