이것은 오래된 트릭입니다. 16 0이있는 문자열을 만든 다음 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 );
}
}
%016s
?