1

我的解析器有问题。

问题是我得到一个整数,例如“8”,我需要将它转换为一个 8 位无符号字节。稍后我将收到一个整数“56”,需要使用相同的方法对其进行转换,但是当我得到一个“-53”(例如)时,我会说这是通信和发送中的错误。

例如,

number = 538; //or 63492873 or 8 or 17826312631 or -231 or whatever
try{
  byte response[] = Parse8BitUnsigned(number);
}catch(Idkexcepcion ex){
  System.out.println("the number is a signed one");
  byte response[] = Parse8BitSigned(number);
}

注意: Parse8BitSigned() 和 Parse8BitSigned() 尚未实现。我需要那个方法来处理任何数字

4

1 回答 1

0

你可以ByteBuffer用来做你想做的事:

String number="8";
int num = Integer.valueOf(number);
if(num < 0 ) //ERROR
// Return 8 in a 4 bytes array
byte[] bytes = ByteBuffer.allocate(4).putInt(num).array();
于 2012-07-05T20:50:59.290 回答