Dies ist ein alter Trick. Erstellen Sie eine Zeichenfolge mit 16 Nullen und fügen Sie dann die zugeschnittene Binärzeichenfolge hinzu, die Sie aus String.format ("% s", Integer.toBinaryString (1)) erhalten haben, und verwenden Sie die 16 Zeichen ganz rechts, wobei Sie alle führenden Zeichen entfernen Nullen. Besser noch, machen Sie eine Funktion, mit der Sie angeben können, wie lange eine Binärzeichenfolge Sie möchten. Natürlich gibt es wahrscheinlich eine Unmenge anderer Möglichkeiten, dies zu erreichen, einschließlich Bibliotheken, aber ich füge diesen Beitrag hinzu, um einem Freund zu helfen :)
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
?