python 10进制与二进制的互相转化,16进制与10进制的相互转化

#第一种利用函数
# 10进制转化为二进制,利用bin()函数,传int类型数据
print(bin(7))
# 二进制转化为10进制,利用 int('二进制类型数据',2)
print(int('111',2))
print(int(bin(7),2))

 

 

#第二种,自定义函数实现10进制和二进制的互转
# 10进制转化为二进制
def fun1(n):
'''

:param n: 传入整型数据
:return: 返回字符串类型的二进制
'''
l = []
while n >0:
i = n % 2
l.append(str(i))
n = n//2
l.reverse()
return ''.join(l)
print(fun1(10))


#二进制转化为10进制
def fun2(str1):
'''
:param str1: 传入二进制的字符串 如:'111'
:return: 返回10进制 8
'''
str1 = list(str1)
str1.reverse()
sum = 0
for i in range(len(str1)):
sum+= int(str1[i]) * 2 **i
return sum

 

#10进制转16进制,利用hex()函数

print(hex(10))

 

 

 #16进制转10进制,利用int()函数

print(int('A',16))

 

 



posted @ 2022-04-23 12:12  心里日记  阅读(385)  评论(0)    收藏  举报