Ma tu quindi volevi "passare" attraverso un array di 32 int che contengono 0 o 1. Cos'è ... un giochettino o il solito esercizietto assegnato da un prof. con poca fantasia???Originariamente inviato da Leon@@rdo
non proprio.. io volevo convertire l'intero in binario (ottenendo 32 bit) successivamente dividerli in 2 gruppi di 16 bit e riportare questi due gruppi di 16 bit in due decimali (Short). Non so se è chiaro.. se fai girare il codice che ho scritto forse capisci meglio.. grazie ancora![]()
Comunque non ti servono Math.pow, moltiplicazioni ecc.... Bastano shift e operatori "bitwise" (sui bit).
Esempio (da 32 int 0/1 a int):
codice:int[] bits = { 1, 1, 0, 0, ....... 0 }; int n = bitsToInt(bits); .... public static int bitsToInt(int[] bits) { int res = 0; for (int i = 0; i < 32; i++) { res = (res << 1) | bits[i]; } return res; }

Rispondi quotando