Utilizzando la classe Math e l'algoritmo classico per la conversione da base 2 a base 10.
I numeri sono di tipo double, perche' il metodo Math.pow che serve per l'elevamento a potenza, vuole dei double in input. Se ti servono int, puoi castare i risultati.codice:public class converti { public static void main(String[] args) { int i =1024; int[] decimale1 = new int[16]; for(int k=0; k< 16; k++){ decimale1[15-k]=i%2; i=i/2; } for(int k=0; k<16; k++){ System.out.println(decimale1[k]); } //Mi definisco due variabili che rappresentano i due numeri e un contatore double num = 0; double num2 = 0; double cont = 0; //Ciclo sulla prima meta' e applico l'algoritmo for(int k=7; k>=0; k--){ num = num + (decimale1[k]*Math.pow(2, cont)); cont++; } //Azzero il contatore, ciclo sulla seconda meta' e applico l'algoritmo cont = 0; for(int k=15; k>=8; k--){ num2 = num2 + (decimale1[k]*Math.pow(2, cont)); cont++; } System.out.println("Primo numero: "+num); System.out.println("Secondo numero: "+num2); } }
![]()

Rispondi quotando