byte[] の変換についての質問です。
byte[] を数値に直す時に 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 でできると、なおうれしいです。