Este es un viejo truco, cree una cadena con 16 0 y luego agregue la cadena binaria recortada que obtuvo de String.format ("% s", Integer.toBinaryString (1)) y use los 16 caracteres más a la derecha, cortando los primeros 0's. Mejor aún, cree una función que le permita especificar la longitud de una cadena binaria que desea. Por supuesto, probablemente hay un millón de otras formas de lograr esto, incluidas las bibliotecas, pero estoy agregando esta publicación para ayudar a un amigo :)
public class BinaryPrinter {
public static void main(String[] args) {
System.out.format("%d in binary is %s\n", 1, binaryString(1, 4));
System.out.format("%d in binary is %s\n", 128, binaryString(128, 8));
System.out.format("%d in binary is %s\n", 256, binaryString(256, 16));
}
public static String binaryString( final int number, final int binaryDigits ) {
final String pattern = String.format( "%%0%dd", binaryDigits );
final String padding = String.format( pattern, 0 );
final String response = String.format( "%s%s", padding, Integer.toBinaryString(number) );
System.out.format( "\npattern = '%s'\npadding = '%s'\nresponse = '%s'\n\n", pattern, padding, response );
return response.substring( response.length() - binaryDigits );
}
}
%016s
?