นี่เป็นเคล็ดลับเก่าสร้างสตริงด้วย 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
หรือยัง?