我正在尝试检查字节变量中的最后2位是否已设置为1。这就是我所拥有的:

if ((my_byte & (1 << 0)) == 1 && (my_byte & (1 << 1)) == 1)


但是,如果它似乎无法正常工作,因为代码不会进入if语句。我确定my_byte的值为3。

有人知道我在做什么错吗?

谢谢您的帮助。

最佳答案

使用'if ((my_byte & 0b11) == 0b11)'

也就是说,您要将数字与最后两个两位都设置为1的数字进行“与”运算。只有且仅当m_byte的最后两位设置为1时,表达式才为true。

关于java - 检查位是否设置为1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16856431/

10-12 19:14