2016-11-19 5 views
1

私はコードJavaでバイトをバイナリに変換するには?

byte sum = (byte) (Integer.valueOf(10000101, 2) & 0xffff) "; 

によって10000101から-123への変換を試みてきた今、私は、変換を行うためのJava APIを使用して約-123

10000101.に任意の提案から戻って変換する方法がわかりませんか?

+0

あなたは 'Integer'クラスの' toBinaryString'メソッドを知っていますか? –

+0

@community ..それは同じ質問ではありません..ここでOPはバイナリ文字列にバイトを変換するように頼んでいます..全く異なる質問です... – user6904265

答えて

1

デビッド・ウォレスのコメントビットを展開するには、このコードでそれを行うことができます:sum & 0xFF

String fromByteToString = String.format("%8s", Integer.toBinaryString(sum & 0xFF)).replace(' ', '0'); 
    System.out.println(fromByteToString); 

を使用すると、ビット単位のAND演算を実行します。

-123 = 11111111111111111111111110000101 
0xFF = 00000000000000000000000011111111 
res. = 00000000000000000000000010000101 

注意replace(' ', '0')ではないことこの場合、バイナリ結果の文字列は1で始まります(10000101)。

関連する問題