需要帮助了解VB条件逻辑并在java中找到等价物

时间:2017-07-19 09:39:23

标签: java vb.net

我在Visual Basic中有一个需要转换为java的遗留项目。

我无法理解以下内容......

If lastSendToggle And 128 Then

...其中lastSendToggle是一个字节,128是一个int。 java中的等价物是什么?

我试过......

if((lastSendToggle & 128) == 1 )

...但这不起作用,因为陈述总是错误的。

1 个答案:

答案 0 :(得分:2)

对于x & 128的任何值,操作x 永远不会导致1,因为它是按位操作。它将始终为128或0,具体取决于该位是否在x中设置。 (注意128十进制= 10000000二进制,所以只有一个可以在结果中设置。

所以你可以写成:

if ((lastSendToggle & 128) == 128)

if ((lastSendToggle & 128) != 0)