python编程将十进制转化为二进制,二进制串转化为十进制python
#二进制转化成十六进制
打印(请输入一个二进制数\n )
SUM1=[]
SUM2=[]
A=0
B=0
int1=[]#整数部分存放处
float1=[]#小数部分存放处
a1=int(input(请输入二进制的整数部分))
打印( a1=,a1)#整数部分
a2=输入(请输入二进制的小数部分)
打印( a2=,a2)
对于主动脉第二声中的x:
float1.append(int(x))
while(a1gt=1):
int1.append(a1)
a1=a1//10
打印( int1=,int1)
打印(浮点1=,浮点1)
def sumint(v):
j=0
summ=0
对于v中的我:
summ=summ i*(2**j)
j=j 1
如果summ==10:
summ=A
如果summ==11:
summ=B
如果summ==12:
summ=C
如果summ==13:
summ=
如果summ==14:
总和=E
如果summ==15:
总和=F
返回总和#输入四位二进制,输出一个十六进制
int2=[]
while(Altlen(int1)):
i=int1[A]
int2.append(i)
如果len(int2)==4:
打印(int2)
SUM1.append(sumint(int2))
int2=[]
elif A 1==len(int1):
打印(int2)
SUM1.append(sumint(int2))
否则:
及格
A=A 1
#整数部分
float2=[]
while Bltlen(float1):
I=float1[B]
float2.insert(0,I)
如果len(float2)==4:
SUM2.append(sumint(float2))
float2=[]
elif B 1==len(float1):
如果len(float2)==1:
SUM2.append(8)
如果len(float2)==2:
float2.insert(0,0)
float2.insert(0,0)
SUM2.append(sumint(float2))
如果len(float2)==3:
float2.insert(0,0)
SUM2.append(sumint(float2))
B=B 1
#小数部分
打印(SUM1)
SUM1.reverse()
打印(最终求得的十六进制是,end=" ")
对于SUM1中的我:
print(i,end= )
打印(.,end=" ")
对于SUM2中的二:
print(ii,end= )
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。