Quote:
Originariamente inviato da Frank1962
Codice:
String binDigits = 0+Integer.toBinaryString(buffer.get(i));
cmq per avere il codice corretto basta aggiungere uno 0
|
Beh, no. Per avere la notazione corretta dovresti generalizzare un pelo la faccenda. In realtà devi aggiungere un numero di cifre 0 compreso tra 8 e 0 a seconda di dove si trovi la prima cifra 1 a partire da sinistra.
10 -> 2 -> 0000 0010 (8 bit x 1 byte)
Quote:
Originariamente inviato da Frank1962
ps: ma se volessi avere un array di valori short che mi contenga gli 0/1 come dovrei fare ..........mi occuperebbe + spazio in memoria l'array di short oppure la stringa completa?
|
Fai un "benchmark" sull'occupazione di memoria di un oggetto String e poi su un array di short e scopri subito. In teoria la stringa dovrebbe essere più piccola (perchè si "basa" su un array di char, ma bisogna poi vedere quanto pesa il resto del contenuto dell'oggetto String).
&Ciao.