【初心者】Java質問・相談スレッド69【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0835デフォルトの名無しさん
2005/08/17(水) 19:18:48byte[] を数値に直す時に BigIntegerを使っているのですが、BigIntegerの変換が2の補数で変換する為に、
1バイトを 127〜-128 として扱います。
対象のデータが補数表記ではなく 1バイトを 0〜255 として扱っています。
このデータを byte[] で読んだ後に、 正しく数値に直したいのですがどうすればよいのでしょう?
1. byte[] tmp = { 00000011 }
(ソースじゃないです。書き方がわからん・・・ビットの配列)
BigInteger aaa = new BigInteger(tmp)
System.out.println("結果:"+ aaa.toString() )
上記のようにやると 結果: 3 となります。
2. byte[] tmp = { 10000010 }
BigInteger aaa = new BigInteger(tmp)
System.out.println("結果:"+ aaa.toString() )
上記のようにやると 結果:-124 となります。
そうではなくて、これを 130 と表示するにはどうするのでしょう?
ちなみに java1,3 でできると、なおうれしいです。
■ このスレッドは過去ログ倉庫に格納されています