预先感谢您提出这个基本问题。

我正在看一个教程,看到这一行。

int a = (n & 8) / 8


这应该确定从右边开始的第四位是0还是1的二进制表示形式。我理解位等的概念,但是我不理解这表示什么数学方程式(如果有)。

有人愿意解释如何用数学方程式来写吗?另外,如果我对这条线的理解有任何其他遗漏,请告诉我。谢谢。

最佳答案

表达式(n&8)
用1000个二进制执行n的逻辑与。
这样就可以得到第4位。
然后将其除以8,将值右移3个二进制位。即它将第4位移到最右边。


更清楚地表示为“ >> 3”

因此,您的总体表达将类似于:

  (n AND 1000 )  >> 3


然后,将N的第4位保留为临时变量,即位0(最右边的位)。
由于与,所有其他位将为零。

关于java - 需要帮助了解这条线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24642106/

10-10 01:16