我有一个 Visual basic 遗留项目需要转换为 java。
我无法理解下面这行...
If lastSendToggle And 128 Then
... 其中,lastSendToggle 是一个字节,128 是一个 int。 java 中的等价物是什么?
我试过了...
if((lastSendToggle & 128) == 1 )
...但这不起作用,因为语句总是错误的。
最佳答案
对于任何 x
值,x & 128
运算永远不会得到 1,因为它是按位运算。它总是 128 或 0,具体取决于该位是否在 x
中设置。 (请注意,十进制 128 = 二进制 10000000,因此结果中只能设置一位。)
所以你可以将其写为:
if ((lastSendToggle & 128) == 128)
或
if ((lastSendToggle & 128) != 0)
关于java - 需要帮助理解 VB 条件逻辑并在 java 中找到等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45186677/