Conversor de Binario a Decimal en Java

En marzo escribí una entrada en la que explicaba la notación matemática para convertir un número binario a decimal. Aunque Java no es de mis lenguajes preferidos, quise hacer la implementación de una clase en este lenguaje para compararlo con el mismo método en otros de mas bajo nivel como C o Ensamblador. Sin mas dilación, aquí va el código:

import java.util.Scanner;
 
public class BinarioDecimal {
 
	//Atributos
	private static String binario;
	private static int longitud;
	private static int decimal;
 
	//Constructor vacío
	public BinarioDecimal() {}
 
	//Programa principal
	public static void main(String[] args) {
		binario = getStringInput("Binario: ");
		longitud = binario.length();
		int n = longitud;
		for (int i = 0; i < longitud; i++) {
			n--;
			int b = Character.getNumericValue(binario.charAt(i));
			decimal += b*(int)Math.pow(2,n);
		}
		System.out.printf("Decimal: %d", decimal);
	}
 
	//Metodo para leer la entrada por teclado
	public static String getStringInput(String prompt) {
		Scanner in = new Scanner(System.in);
		System.out.print(prompt);
		String input = in.nextLine();
		in.close();
		return input;
	}
}

He añadido alguna cosa de más, como la entrada de datos mediante la clase Scanner de java.util para hacerlo interactivo, aunque lo importante es que aquí se puede apreciar la fórmula matemática de conversión:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.