Java - Decimal a binario en java

 
Vista:

Decimal a binario en java

Publicado por David (1 intervención) el 21/12/2016 22:10:32
Buenas. Estoy empezando en java y me pidieron un ejercicio para aprender el uso de las clases, los objetos y la funciones. Decidí hacer un programa que convirtiera decimal a binario, que te pide un numero en una clase, lo pasa a otra que hace todos los cálculos y devuelve el número en binario, y la primera clase lo imprime. El problema es que ponga el numero que ponga me sale que el binario es infinito. este es el código de la clase que me lo calcula.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package matematicas;
 
public class Matematicas {
 
    public double x;
 
    public double Binario() {
        double r, c=0, y=0, p=x;
        while(p!=0){
        r=(p%2);
        y=y+r*Math.pow(10, c);
        c ++;
        p=p/2;
        }
        return y;
    }
Esa es la clase que calcula que es donde pienso que debe estar el error ya que la otra solo lee por teclado e imprime. Gracias, cualquier aportación me sera de ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Decimal a binario en java

Publicado por Andres (1 intervención) el 23/12/2016 02:06:38
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Scanner;
 
/**
 *
 * @author Andres
 */
public class DecimalABinario {
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Ingrese un número en el sistema decimal positivo");
        int numero = scanner.nextInt();
        String binario = "";
        if (numero > 0) {
            while (numero > 0) {
                if (numero % 2 == 0) {
                    binario = "0" + binario;
                } else {
                    binario = "1" + binario;
                }
                numero = (int) numero / 2;
            }
        } else if (numero == 0) {
            binario = "0";
        } else {
            binario = "No se pudo convertir el numero. Ingrese solo números positivos";
        }
        System.out.println("El número convertido a binario es: " + binario);
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Decimal a binario en java

Publicado por manuel (1 intervención) el 01/07/2019 19:07:30
me lo explicas por fa?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Decimal a binario en java

Publicado por vale (1 intervención) el 05/10/2019 08:12:46
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class decimalBinario {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Ingrese un número en el sistema decimal positivo");
        int numero = scanner.nextInt();
        String binario = " ";// para almacenar los restos
        if (numero > 0) { //NUMERO INGRESADO ES MAYOR A CERO
            while (numero > 0) {
                if (numero % 2 == 0) {//12 es multiplo de dos?...
                    binario = "0" + binario; // si va cero
                } else {
                    binario = "1" + binario;
                }
                numero = numero / 2;//lo divido por dos
            }
        } else if (numero == 0) {
            binario = "0";
        } else {//NUMERO INGRESADO MENOR A CERO
            binario = "No se pudo convertir el numero. Ingrese solo números positivos";
        }
        System.out.println("El número convertido a binario es: " + binario);
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Decimal a binario en java

Publicado por Daniel Lévano (1 intervención) el 07/11/2019 15:39:02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package modularidad;
 
import java.util.Scanner;
// Daniel Lévano Rodríguez
// levanod@gmail.com
 
public class Prog093 {
	public static void decimalbinario(int num) {
		int residuo = 0, potencia = 0, resultado = 0;
		do {
			residuo = num % 2;
			num = num / 2;
			resultado  += residuo * (int)Math.pow(10, potencia);
			potencia++;
		}while(num>0);
		System.out.println(resultado);
	}
	public static void inicio() {
		Scanner teclado = new Scanner(System.in);
		int num;
		System.out.print("Numero: ");
		num = Integer.valueOf(teclado.nextLine());
		decimalbinario(num);
		teclado.close();
	}
 
	public static void main(String[] args) {
		inicio();
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar