String binAddr = Integer.toBinaryString(Integer.parseInt(hexAddr, 16));
String.format("%032", new BigInteger(binAddr));
Идея здесь состоит в том, чтобы временно разобрать строку обратно в десятичное число (такое, которое просто состоит из всех 1 и 0), а затем использовать String.format()
.
Обратите внимание, что вы в основном должны использовать BigInteger, потому что двоичные строки быстро переполняются Integer и Long, что приводит к возникновению исключений NumberFormatExceptions, если вы пытаетесь использовать Integer.fromString()
или Long.fromString()
.