Mostrando entradas con la etiqueta JAVA. Mostrar todas las entradas
Mostrando entradas con la etiqueta JAVA. Mostrar todas las entradas

domingo, 11 de noviembre de 2012

Numeros Binarios JAVA

Hola a todos,

En esta nueva entrada veremos cómo sacar el número binario dado un número entero.

Básicamente un numero binario es una combinación de ceros ( 0 ) y unos ( 1 ), que representan mediante manera exponencial números enteros. Estos números binarios salen de una operación básica como lo es la división  e invirtiendo en resultado final, por lo cual dado un número entero cualquiera dividimos sucesivamente hasta llegar a u número final 0 o 1. Todos estos necesitamos usar obtener dos resultados:

  1. El numero entero siguiente, que se da por medio de divisiones sucesivas.
  2. El residuo de la división por dos del número entero.
Podemos ver mas del concepto en WIki
// 

public class Binario {

 //para esta clase tenemos que importar la libreria para listas
 //que es import java.util.ArrayList; 
 
 public static void main(String[] args) {

  //Numero Entero que convertimos en binario
  int numero=128;
  
  //String en el cual almacenamos el valor binario resultante
  String binario="";
  
  //llamamos al metodo que convirte el numero en binario
  binario=convertirABinario(numero);
  
  //mostramos por consola el numero Binario resultante
  System.out.println("El numero Binario es " + binario);
 }
 
 /**
  * Metodo que convierte  un numero entero en binario
  * @param numero Numero entero correspondiente
  * @return cadena de texto con el numero binario resultante
  */ 
 public static String convertirABinario(int numero)
 {
  //lista donde almacenamos los valores individuales
  ArrayList binarios = new ArrayList();
  
  //variable donde almacenamos el resultado de la division 
  int aux=numero;
  
  //hacemos un ciclo while para sacar todos los valores binarios
  while(true)
  {
   //almacenamos el resultado de la operacion sea 1 o 0
   binarios.add(aux%2);
   
   //pasamos el sigiente numero
   aux/=2;
   
   if(aux<2)
    {
    //una vez obtenido todos los valores salimos del ciclo
     binarios.add(aux); 
     break;
    }
   
  }
    
  //llamamos al metodo que nos invierta la lista y obtenmos el resultado final
  return invertirLista(binarios);
 }

 
 /**
  * Metodo que invierte la lista para obtener el binario final
  * @param lista donde se encuentra los resultados binarios
  * @return con el numero binario final
  */
 public static String invertirLista(ArrayList lista)
 {
  String invertido="";
  
  for(int i=lista.size()-1;i>=0;i--)
  {
   invertido+=lista.get(i);
  }
  
  return invertido;
 }
}