এটি একটি পুরানো কৌশল, স্ট্রিং.ফর্ম্যাট ("% s", ইন্টিজার.টোবাইনারিস্ট্রিং (1)) থেকে আপনি ছাঁটা বাইনারি স্ট্রিং সংযোজন করুন এবং 16-এর দশকে একটি স্ট্রিং তৈরি করুন এবং কোনও শীর্ষস্থানীয়কে ফাঁকে রেখে ডান-সর্বাধিক 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
?