python中的进制转换+⾼低位互换主要记录python中的各进制转换,以及⾼低位互换代码
⼀.进制转换
先说⼀下格式符(字符串格式化输出):格式符为真实值预留位置,并控制显⽰的格式。
格式符可以包含有⼀个类型码,⽤以控制显⽰的类型,如下
格式符号含义
%s字符串 (采⽤str()的显⽰)
%r字符串 (采⽤repr()的显⽰)
%c单个字符
%b⼆进制整数
%d⼗进制整数
%i⼗进制整数
%o⼋进制整数
%x⼗六进制整数
%e指数 (基底写为e)
%E指数 (基底写为E)
%f浮点数
%F浮点数,与上相同
%g指数(e)或浮点数 (根据显⽰长度)
%G指数(E)或浮点数 (根据显⽰长度)
%%%%
1.将10进制转16
10进制转16进制⼀般有以下⽅法:
⽤hex()函数
a = 11 #读取到10进制
print(type(a))
b = hex(a) #转为16进制(为str)
print(b) #b=0x10
‘’‘此时得到的10进制带有格式符,如想去掉格式符,可继续运⾏以下代码’‘’
len = len(b)
if len ==6: #将'0x10'变为'0010' '0x10f0'变为'10f0 '0xf10'变为'0f10' '0xffff'变为'ffff' c = ('%06x' % int(b, 16)) # 得到'00ffff'
print(c)
print(type(c))
d = c[2:6]
print(d)
print(type(d))
if len ==5:
c = ('%05x' % int(b, 16))
print(c)
print(type(c))
d = c[1:5]
print(d)
if len ==4:
c = ('%04x' % int(b, 16))
print(c)
print(type(c))
d = c[0:4]
print(d)
if len ==3:
c = ('%03x' % int(b, 16))
print(c)
print(type(c))
d = c[0:3]
print(d)
#输出00b
使⽤’{:x}’.format(a) 格式化(这种转换⽅法不会有格式符)
a = 11
b = '{:x}'.format(a)
print(b)
#输出b
如需保留位,使⽤{:032x}’.format(a) 格式化
a = 11
b = '{:032x}'.format(a)
print(b)
#输出0000000000000000000000000000000b
2.将10进制转2
使⽤bin()函数
a = 11
b = bin(a)
print(b)
#输出0b1011
使⽤’{:b}’.format(a) 格式化(这种转换⽅法不会有格式符)
a = 11
b = '{:b}'.format(a)
print(b)
#输出1011
3.将各进制转10
使⽤int()函数,int() ⽅法的语法为:
x – 字符串或数字。
base – 进制数,默认⼗进制
class int(x, base=10)
以下展⽰了使⽤ int() ⽅法的实例:
>>>int() # 不传⼊参数时,得到结果0
>>> int(3)
3
>>> int(3.6)
3
>>> int('12',16) # 如果是带参数base的话,12要以字符串的形式进⾏输⼊,12 为 16进制18
>>> int('0xa',16)
10
>>> int('10',8)
8
⼆.⾼低位转换
16进制⾼低位互换 后转10进制
h = '0011'
list_1 = [] #建⽴空列表
for i in range(0, len(h), 2):
list_1 .append(h[i:i + 2]) #获得['00','11']
list_1 .reverse() #获得['11','00']
python货币转换list_1_str= int(''.join(da), 16) #转换为10进制
print(list_1_str)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论