Ho scritto questo programmino che dovrebbe convertire un decimale in un numero binario ma entra in un loop infinito con la condizione x >= 0
(se metto x > 0 oppure x > = 1 -- x > 1 da numeri non esatti ES: 12 è uguale a 100 in binario per lui)
ECCO IL CODICE ... AIUTO!! GRAZIE IN ANTICIPO![]()
codice:/** * PROGRAMMA CHE CONVERTE I NUMERI DECIMALI IN NUMERI BINARI * @author Mattia Lonzi * @Version 0.1 2012-12-04 */ import java.util.Scanner; public class Binario{ public static void main(String[]args) { System.out.println("Programma che converte i numeri decimali senza virgola in binario"); System.out.println("INSERISCI NUMERO"); Scanner in = new Scanner(System.in); int x = in.nextInt(); int ris = x; int resto = x % 2; while(ris >= 0) { if(resto == 0) { ris = ris / 2; resto = ris % 2; System.out.print("1");} if(resto != 0) { ris = ris / 2; resto = ris % 2; System.out.print("0");} } if(x == 0) { System.out.println("0"); } if(x == 1) { System.out.println("1"); } if(x < 0) { System.out.println("INSERIRE SOLO NUMERI POSITIVI"); } } }![]()
![]()
![]()
![]()
![]()