Это старый трюк, создайте строку с 16 нулями, затем добавьте обрезанную двоичную строку, полученную из String.format ("% s", Integer.toBinaryString (1)), и используйте самые правые 16 символов, выпадающийот любых ведущих 0.А еще лучше, сделайте функцию, которая позволит вам указать, какую длину двоичной строки вы хотите.Конечно, есть, вероятно, еще несколько способов сделать это, включая библиотеки, но я добавляю этот пост, чтобы помочь другу:)
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 );
}
}