यह एक पुरानी चाल है, 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
?