Java 检查来自外部源的数据是否为正或负&;把它拿来';s值

Java 检查来自外部源的数据是否为正或负&;把它拿来';s值,java,android,Java,Android,我有3个字节的数据,来自外部源。我以前很长时间都在存储这些数据,现在我需要检查即将到来的数据是负数还是正数。为此,我使用了以下代码: long min = Long.MIN_VALUE; long i = ((longData+ min) & 0xFF) - min; if(i <0) { System.out.print(i+"negative"); } else System.out.pri

我有3个字节的数据,来自外部源。我以前很长时间都在存储这些数据,现在我需要检查即将到来的数据是负数还是正数。为此,我使用了以下代码:

long min = Long.MIN_VALUE;
     long i = ((longData+ min) & 0xFF) - min;

     if(i <0)
     {
         System.out.print(i+"negative");
     }
     else
         System.out.print(i+"positive");
long min=long.min\u值;
长i=((longData+min)和0xFF)-min;

如果(i,这取决于“负”的含义以及如何将3个字节转换为
long
值。如果将3个字节存储在long的3个最低有效字节中,并且如果“负”表示设置了最高位,则应能使用:

if ((longData & (1L<<23)) != 0) {
    System.out.print(i+"negative");
}
else {
    System.out.print(i+"positive");
}

if((longData&)你说“它不工作”是什么意思?谢谢Klas,是的,我也是这么做的……但是(1L@Andy:更正了我的答案。@Andy@KlasLindbäck:注意操作符的优先级。@michael感谢您指出这一点。添加了一组额外的括号。