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");
}
}
}




