elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  binarios en python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: binarios en python  (Leído 1,440 veces)
tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
binarios en python
« en: 5 Octubre 2018, 13:55 pm »

En otros foros ya empezaron a preguntar sobre otro ejercicio que les han dado sobre como pasar números decimales a binarios a la vieja escuela(python ya trae funciones para ello), pero además quieren que sea con decimales,aunque todavía no han dicho con cuantos, así que lo hice en base a dos decimales.Como me molesta que entren a pedir solo códigos también lo dejo acá, así evitamos preguntas sin intenciones de aprender.
Código
  1. #por tincopasan
  2. #-*- coding: utf -8 -*-
  3. import math
  4. def binario(num):
  5.    co=0
  6.    resto = 0
  7.    numero_binario = []
  8.  
  9.    if num <= 1:
  10.        print("no se puede convertir")
  11.    else:
  12.        while num > 1:
  13.            co = num //2
  14.            resto=num%2
  15.            numero_binario.append(resto)
  16.            num=num//2
  17.        numero_binario.append(1)
  18.        numero_binario.reverse()  
  19.        return numero_binario  
  20.  
  21. def binario_decimal(decimal):
  22.  
  23.    aux=decimal*2
  24.    decimal_binario=[]
  25.    lista=[]
  26.    valor=0
  27.    while aux not in lista :
  28.            lista.append(aux)
  29.            partes=math.modf(aux)
  30.            valor= int(round(partes[1],2))
  31.            decimal_binario.append(valor)
  32.            if int(round(partes[1],2)) == 1 and round(partes[0],2)== 0.0:
  33.                break
  34.            aux=round(partes[0],2) * 2
  35.  
  36.    return decimal_binario
  37.  
  38.  
  39.  
  40.  
  41. def entero_decimal():
  42.    global entero
  43.    global decimal
  44.    global numero
  45.    numero=float(input("Ingrese un número: "))
  46.    partes=math.modf(numero)
  47.    decimal=round(partes[0],2)
  48.    entero=int(partes[1])
  49.    if decimal == 0.0:
  50.        print("El número decimal {} es en binario {}]" .format(int(numero) ,binario(entero)))
  51.    else:
  52.        parte_entera=binario(entero)
  53.        parte_decimal=binario_decimal(decimal)
  54.        print("El número decimal {} es en binario {}.{}" .format(int(numero) ,parte_entera,parte_decimal))
  55.  
  56. entero_decimal()    
  57.  
  58.  

es recontra básico y dividido en funciones para que si alguien quiere, lo pueda entender fácil.Sino copiar y pegar sobra.
Saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines