jueves, 1 de diciembre de 2005

Clase OperacionesBinarias [Algoritmo de Booth]


OperacionesBinarias.java:
Es la clase que implementará todos los métodos (estáticos) que van a ser útiles para manipular números binarios.
Los métodos son estáticos porque depende de ningún atributo de la clase (los cuales no tiene)


  • bin2dec(String numeroBinario) : int
    Descripción: Convierte un número binario, a un número decimal.
    Entrada: Cadena que representa un número en binario.
    Salida: Entero que representa el correspondiente valor en decimal.

  • dec2bin(int numeroDecimal) : String
    Descripción: Convierte un número decimal, a un número binario.
    Entrada: Entero que representa el valor decimal del número.
    Salida: Cadena que representa el correspondiente valor en binario.

  • complementoA2(String binario) : String
    Descripción: Convierte un número binario a su representación en complemento a 2.
    Entrada: Cadena que representa un número en binario.
    Salida: Cadena que representa el número binario en complemento a 2.

  • rellenarCeros(String numeroBinario, int tamañoDeseado) : String
    Descripción: Estandariza los tamaños de las cadenas a tratar, a un tamaño deseado de bits.
    Entrada: Cadena que representa un número en binario, entero del tamaño deseado de la cadena.
    Salida: Cadena de tamaño estandarizado.

  • desplazarDerecha(String numeroBinario) : String
    Descripción: Método propio del algoritmo de Booth, desplaza los bits a la derecha, manteniendo el bit de signo.
    Entrada: Cadena que representa un número en binario.
    Salida: Cadena con sus bits desplazados.

  • suma(String sumando, String sumador) : String
    Descripción: Suma 2 números en binario (en cadenas)
    Entrada: 2 cadenas representando números binarios.
    Salida: Cadena que representa el número binario de la suma.

  • completarDerecha(String cadena) : String
    Descripción: Método propio del algoritmo de Booth, rellena de ceros a la derecha para darle a la cadena de entrada la forma del resultado (de n bits del dato de entrada, a 2n+1 bits del dato de salida)
    Entrada: Cadena representando un número binario.
    Salida: Cadena de longitud 2n+1, donde n+1 ceros adheridos a la derecha.

  • completarIzquierda(String cadena) : String
    Descripción: Método propio del algoritmo de Booth, rellena de ceros a la izquierda para darle a la cadena de entrada la forma del resultado (de n bits del dato de entrada, a 2n+1 bits del dato de salida)
    Entrada: Cadena representando un número binario.
    Salida: Cadena de longitud 2n+1, donde n+1 ceros adheridos a la izquierda.

  • formatoBinario(String cadena) : String
    Descripción: Método que separa cada 4 bits con un espacio " " el número binario, para darle mayor legibilidad.
    Entrada: Cadena representando un número binario.
    Salida: Cadena con formato binario legible.

6 comentarios:

  1. oye esta parte no la entiendo de donde es la clase operacionesBinarias es propia de java???
    me explicas xfavor.......


    gracias..........

    ResponderBorrar
  2. Hola Anónimo... OperacionesBinarias es una clase que yo mismo creé para hacer las operaciones necesarias, como suma en binario por ejemplo (están detalladas aquí mismo)...
    En estos días espero poder estarla posteando, con todo el código de los métodos :)
    Saludos!

    ResponderBorrar
  3. Ojala amigo que despues de medio año esperando que tengas tiempo :P puedas hacernos el honor de publicarlo todo.

    Gracias.

    ResponderBorrar
  4. Bueno ojala tengas algo de tiempo ya que han pasado casi 5 años desde la publicacion de este articulo y pudieras hacernos el honor de poner el link de descarga del código fuente, creo que ha estas alturas ya habrás terminado (o casi) tu carrera y nos sería de mucha utilidad a mi y a todos los que recién estamos llevando este curso poder saber como lo hiciste tu. A mi parecer ya no existe el "esto lo hice yo sólo y no lo comparto" ya que de alguna manera todos aprendemos de todos, así como tu aprendiste de la página Emezeta. Bueno espero puedas publicar un link de descarga de tu programa, muchas gracias de antemano.
    Saludos cordiales.

    PD: mi email es javierob.20@gmail.com
    Yo estudio Ing. de Sistemas y ojala pudieras pasármelo al menos te lo agradecería.

    ResponderBorrar
  5. Me preguntaba si me podrias pasar el codigo fuente? lo necesito para una tarea me harías un gran favor, mi correo es eabar1127@outlook.com o darkmonn88@gmail.com

    ResponderBorrar