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

sábado, 17 de agosto de 2013

Suma Resta Multiplicacion Y Division de Binarios

Leave a Comment
Hola yo soy Edwar y hoy les quiero enseñar con un fácil código de python como sumar, restar, multiplicar y dividir números binarios, bueno sin mas preámbulo manos a la obra.

Primero debemos hacer que el numero binario se convierta en entero o base 10:

def convertir_binario( binario ):
     l = len(binario) - 1
     entero = 0
     for i in binario:
          potencia = 2 ** l
          entero = entero + ( int(i) * potencia)
          l = l - 1
     return entero

Luego de convertir el binario a base 10 podemos realizar las operaciones que necesitamos suma, resta, multiplicación y división y lo hacemos de esta manera

def sumar(pnumero, snumero):
     resultado=pnumero+snumero
     return resultado

def restar(pnumero, snumero):
     resultado=pnumero-snumero
     return resultado

def dividir(pnumero, snumero):
     resultado=pnumero/snumero
     return resultado

def multiplicar(pnumero, snumero):
     resultado=pnumero*snumero
     return resultado
Ahora que ya hemos realizado las operaciones terminaremos convirtiendo nuevamente los resultados en base 2 o binario, y lo hacemos de esta manera:

def convertir_entero(numero_entero):
     binario = ""
     while (True):
          aux = str( numero_entero % 2 )
          numero_entero = int( numero_entero / 2 )
          binario = aux + binario
          if (numero_entero <= 1):
               binario = ( str( numero_entero ) if numero_entero > 0 else "" ) + binario
               break
     return binario

Listo ya solo basta ponerle la lógica a nuestro programa y esto lo podemos hacer a nuestro gusto yo en lo personal lo realice de esta manera pero es totalmente configurable:

def main():
     primer_binario=raw_input('Primer binario')
     segundo_binario=raw_input('Segundo binario')
     pcbin=convertir_binario(primer_binario);
     scbin=convertir_binario(segundo_binario);
     suma=sumar(pcbin, scbin);
     resta=restar(pcbin, scbin);
     divicion=dividir(pcbin, scbin);
     multiplicacion=multiplicar(pcbin, scbin);
     print "El resultado de la suma de "+primer_binario+" + "+segundo_binario+" = "+convertir_entero(suma);
     print "El resultado de la resta de "+primer_binario+" - "+segundo_binario+" = "+convertir_entero(resta);
     print "El resultado de la multiplicación de "+primer_binario+" * "+segundo_binario+" = "+convertir_entero(multiplicacion);
     print "El resultado de la divición de "+primer_binario+" / "+segundo_binario+" = "+convertir_entero(divicion);


main()

Para terminar y como lo prometí desde un comienzo mis POST serán lo mas cortos y explicativos posible abajo des dejo el link de descarga del archivo para que lo prueben, cualquier duda, inquietud y/o sugerencia por favor déjalo en los comentarios estaré pendiente de cualquier sugerencia.

Link de la Calculadora binaria



def convertir_binario( binario ):
     l = len(binario) - 1
     entero = 0
     for i in binario:
          potencia = 2 ** l
          entero = entero + ( int(i) * potencia)
          l = l - 1
     return entero

     binario = ""
     while (True):
          aux = str( numero_entero % 2 )
          numero_entero = int( numero_entero / 2 )
          binario = aux + binario
          if (numero_entero <= 1):
               binario = ( str( numero_entero ) if numero_entero > 0 else "" ) + binario
               break
     return binario

def sumar(pnumero, snumero):
     resultado=pnumero+snumero
     return resultado

def restar(pnumero, snumero):
     resultado=pnumero-snumero
     return resultado

def dividir(pnumero, snumero):
     resultado=pnumero/snumero
     return resultado

def multiplicar(pnumero, snumero):
     resultado=pnumero*snumero
     return resultado

def main():
     primer_binario=raw_input('Primer binario')
     segundo_binario=raw_input('Segundo binario')
     pcbin=convertir_binario(primer_binario);
     scbin=convertir_binario(segundo_binario);
     suma=sumar(pcbin, scbin);
     resta=restar(pcbin, scbin);
     divicion=dividir(pcbin, scbin);
     multiplicacion=multiplicar(pcbin, scbin);
     print "El resultado de la suma de "+primer_binario+" + "+segundo_binario+" = "+convertir_entero(suma);
     print "El resultado de la resta de "+primer_binario+" - "+segundo_binario+" = "+convertir_entero(resta);
     print "El resultado de la multiplicación de "+primer_binario+" * "+segundo_binario+" = "+convertir_entero(multiplicacion);
     print "El resultado de la divición de "+primer_binario+" / "+segundo_binario+" = "+convertir_entero(divicion);


main()
Read More...