我在Visual Basic中有一个需要转换为java的遗留项目。
我无法理解以下内容......
If lastSendToggle And 128 Then
...其中lastSendToggle是一个字节,128是一个int。 java中的等价物是什么?
我试过......
if((lastSendToggle & 128) == 1 )
...但这不起作用,因为陈述总是错误的。
答案 0 :(得分:2)
对于x & 128
的任何值,操作x
永远不会导致1,因为它是按位操作。它将始终为128或0,具体取决于该位是否在x
中设置。 (注意128十进制= 10000000二进制,所以只有一个可以在结果中设置。
所以你可以写成:
if ((lastSendToggle & 128) == 128)
或
if ((lastSendToggle & 128) != 0)