【发布时间】:2015-01-13 18:27:49
【问题描述】:
我有一个 16 位 WORD,我想读取特定位或几个位的状态。
我尝试了一种方法,将单词除以我想要的位,将结果转换为两个值——一个整数和一个实数,然后比较两者。如果它们不相等,则它等同于假。这似乎只有在我正在寻找单词中最后一个“TRUE”位的情况下才有效。如果有任何连续的 TRUE 位,则失败。也许我只是没有做对。我没有使用代码的能力,只有基本的数学、布尔运算和类型转换。有任何想法吗?我希望这不是一个愚蠢的问题,但我有一种感觉。
例如:
字 0010000100100100 = 9348
我想知道第 2 位的值。如何从 9348 中确定?
【问题讨论】:
-
您希望答案是什么样的?您希望那个孤立的位在其原始位置,还是在最不重要的位置?
-
你可以使用按位与和移位运算符吗?
-
我刚刚将可用的功能作为屏幕截图添加到原始问题中。我只需要能够知道一点是真还是假。该等式需要产生一个布尔值。我可以根据需要修改方程以输入我想要的位。
-
输入 1 AND 2 会得到什么答案?另外,如果你输入 1 AND 3,你会得到什么?这将帮助我们了解您实际使用的 AND 运算符。这个问题的答案决定了下面哪些答案对你有用。
-
按位 AND 没有骰子 :( 将是一个很棒的解决方案