2011-11-20 24 views
0

16進数文字列を32ビットバイナリ文字列に変換するにはどうすればよいですか?私は、バイナリ列を取得するには16進数文字列を32ビットバイナリ文字列に変換する

String binAddr = Integer.toBinaryString(Integer.parseInt(hexAddr, 16)); 

をしましたが、私は、好ましくは、フォーマッタと、それを行うことができますどのように、その32ビットを確保するために、0のとパッドにそれを必要としますか?

+0

[(Java)のバイナリ数を文字列に変換するときのビット数(長さ)を指定できますか?](http://stackoverflow.com/questions/625838/java-specify-number-of-bits-length- when-converting-binary-number-to-string) –

+0

ここではもっと単純な答えです... – jkschneider

答えて

0
String binAddr = Integer.toBinaryString(Integer.parseInt(hexAddr, 16)); 
String.format("%032", new BigInteger(binAddr)); 

ここでの考え方は戻って一時的に進数(だけのですべて1から成るように起こると0の1)などの文字列を解析し、String.format()を使用することです。

Integer.fromString()またはLong.fromString()を使用しようとすると、バイナリ文字列がIntegerおよびLongをすぐにオーバーフローしてNumberFormatExceptionsになるため、基本的にBigIntegerを使用する必要があることに注意してください。

関連する問題