#二进制转化成八进制
print("请输入一个二进制数\n")
SUM1=[]
SUM2=[]
A=0
B=0
int1=[]#整数部分存放处
float1=[]#小数部分存放处
a1=int(input("请输入二进制的整数部分"))
print("a1=",a1)#整数部分
a2=input("请输入二进制的小数部分")
print("a2=",a2)
for x in a2:
float1.append(int(x))
while(a1>=1):
int1.append(a1%10)
a1=a1//10
int3=[]
int3=int1.copy()
int3.reverse()
print("您输入的二进制是:",end="")
for i in int3:
print(i,end="")
print(".",end="")
for i in float1:
print(i,end="")
print("\n")
def sumint(v):
j=0
summ=0
for i in v:
summ=summ+i*(2**j)
j=j+1
return summ#输入三位二进制,输出一个八进制
int2=[]
while(A<len(int1)):
i=int1[A]
int2.append(i)
if len(int2)==3:
SUM1.append(sumint(int2))
int2=[]
elif A+1==len(int1):
SUM1.append(sumint(int2))
else:
pass
A=A+1
#整数部分
float2=[]
while B<len(float1):
I=float1[B]
float2.insert(0,I)
if len(float2)==3:
SUM2.append(sumint(float2))
float2=[]
elif B+1==len(float1):
if len(float2)==1:
SUM2.append(4)
if len(float2)==2:
float2.insert(0,0)
SUM2.append(sumint(float2))
B=B+1
#小数部分
SUM1.reverse()
print("最终求得的八进制是:",end=" ")
for i in SUM1:
print(i,end="")
print(".",end="")
for ii in SUM2:
print(ii,end="")
print("\n")
Python实现二进制到八进制转换
这段代码展示了如何使用Python将二进制数(包括整数和小数部分)转换为八进制数。用户输入二进制数,程序将其拆分为整数和小数部分,分别进行转换,最后输出转换后的八进制数。
1564

被折叠的 条评论
为什么被折叠?



