预先感谢您提出这个基本问题。
我正在看一个教程,看到这一行。
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/