Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中int到byte的转换_Java - Fatal编程技术网

java中int到byte的转换

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。这是您的典型模式。) 话虽如此,

我在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,只需使用int进行计算。这对你来说可能更快
  • 即使数字不正确,也将其保留为字节。在Java中,数字可能不正确,但如果您只关心位是否正确,那么它们将是正确的。因此,您可以通过Web服务将该比特(在Java中是-9)发送到另一个应用程序,该应用程序将该比特读取为无符号字节,并且它将正确地读取为
    247