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:
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
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
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
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()
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
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()
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()
0 comentarios:
Publicar un comentario