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 に答える