java中int到byte的转换
我在java中有一个int变量,它的值小于256。所以我可以将它存储在一个单字节变量中 我执行了以下代码java中int到byte的转换,java,Java,我在java中有一个int变量,它的值小于256。所以我可以将它存储在一个单字节变量中 我执行了以下代码 int i =247; byte b = (byte) i ; 但是当我打印出来的时候 System.out.println(" i = "+(int)b); 它输出 i=-9 是否可以将小于256的int值转换为单字节变量。 请。帮助..这行不通。byte的MAX\u值为127,因为字节是用Java签名的。(因此,MIN_值为-128。这是您的典型模式。) 话虽如此,
int i =247;
byte b = (byte) i ;
但是当我打印出来的时候
System.out.println(" i = "+(int)b);
它输出
i=-9
是否可以将小于256的int值转换为单字节变量。
请。帮助..这行不通。
byte
的MAX\u值为127,因为字节是用Java签名的。(因此,MIN_值
为-128。这是您的典型模式。)
话虽如此,您有两个选择:
将其保留为int,只需使用int进行计算。这对你来说可能更快
即使数字不正确,也将其保留为字节。在Java中,数字可能不正确,但如果您只关心位是否正确,那么它们将是正确的。因此,您可以通过Web服务将该比特(在Java中是-9)发送到另一个应用程序,该应用程序将该比特读取为无符号字节,并且它将正确地读取为247