Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
restrepo
GitHub Repository: restrepo/ComputationalMethods
Path: blob/master/homework/homework_2018_1_01_1216730080.ipynb
934 views
Kernel: Python 3
#convertir un número binario a base 10. import numpy as np import math as m def num32(s): #convertir la cadena en un arreglo de tipo entero num=np.array(list(s)) binar=num.astype(int) #invertir el orden binar=binar[::-1] #tomar los dígitos correspondientes a la fracción,el exponente y el signo frac=binar[:23] exp=binar[23:31] sign=binar[31:32] #arreglos de exponentes de dos dos1=np.exp2(-np.arange(1,24)) dos1=dos1[::-1] dos2=np.exp2(np.arange(8)) #calcular los elementos del número en la fórmula f=1+np.dot(frac,dos1) e=np.dot(exp,dos2) signo=(-1)**sign #aplicar la fórmula num32=signo*f*np.exp2(e-127) return num32 print(num32('00111110001000000000000000000000'))
[ 0.15625]