Sto scrivendo un metodo in cui sto convertendo i valori int in stringhe binarie e memorizzandoli. Sto usando il metodo Integer.toBinaryString per farlo, e funziona correttamente, ma il problema è che ho bisogno del metodo per restituire esattamente 4 bit nella stringa anziché meno (non sarà mai più perché i numeri non sono abbastanza grandi). Ecco un esempio del mio codice e dove si verifica il problema:Come rendere Integer.toBinaryString restituisce almeno 4 bit
int value5 = 3;
String strValue5 = Integer.toBinaryString(value5);
for(int index = 0; index < 4; index++){
sBoxPostPass[4][index] = strVal5.charAt(index);
}
Chiaramente, questo genera un ArrayOutOfBoundsException perché strValue5 == 11
e non 0011
, come ha bisogno di essere. Spero che questo sia sufficientemente chiaro. Grazie in anticipo per l'aiuto.
Generalmente prendo il risultato, aggiungo un gruppo di zeri in più alla parte anteriore, quindi prendo la "coda" per la lunghezza desiderata. Non richiede calcolo. –
Buona chiamata - lo farò –
http://stackoverflow.com/questions/4421400/how-to-get-0-padded-binary-representation-of-an-integer-in-java – MacAnthony