Can we make unsigned byte in Java

前端 未结 16 1344
青春惊慌失措
青春惊慌失措 2020-11-22 08:02

I am trying to convert a signed byte in unsigned. The problem is the data I am receiving is unsigned and Java does not support unsigned byte, so when it reads the data it tr

16条回答
  •  长情又很酷
    2020-11-22 08:50

    I'm not sure I understand your question.

    I just tried this and for byte -12 (signed value) it returned integer 244 (equivalent to unsigned byte value but typed as an int):

      public static int unsignedToBytes(byte b) {
        return b & 0xFF;
      }
    
      public static void main(String[] args) {
        System.out.println(unsignedToBytes((byte) -12));
      }
    

    Is it what you want to do?

    Java does not allow to express 244 as a byte value, as would C. To express positive integers above Byte.MAX_VALUE (127) you have to use a different integral type, like short, int or long.

提交回复
热议问题