Int değerlerini ikili dizelere dönüştürüp bunları sakladığım bir yöntem yazıyorum. Bunu yapmak için Integer.toBinaryString yöntemini kullanıyorum ve doğru şekilde çalışıyor, ancak sorun daha az yerine dize tam olarak 4 bit döndürmek için yönteme ihtiyacım var (sayıları yeterince büyük değil çünkü daha fazla olmayacak). olması gerekenden gibiInteger.toBinaryString nasıl yapılır En az 4 bit döndürür
int value5 = 3;
String strValue5 = Integer.toBinaryString(value5);
for(int index = 0; index < 4; index++){
sBoxPostPass[4][index] = strVal5.charAt(index);
}
Açıkçası, bu, bir ArrayOutOfBoundsException çünkü strValue5 == 11
değil 0011
atacağım: İşte benim kod ve sorunun oluşmasını bir örnektir. Umarım bu yeterince açıktır. Yardım için şimdiden teşekkür ederiz.
Genel olarak sonucu alıyorum, ön tarafa bir kaç fazla sıfır ekleyin, sonra istenen uzunluk için "kuyruk" u alın. Hesaplama gerektirmez. –
İyi çağrı - Bunu –
http://stackoverflow.com/questions/4421400/how-to-get-0-padded-binary-representation-of-an-integer-in-java yapacağım – MacAnthony