输入一行字符串,去掉非16进制字符,将它转换成16、10、8、2进制数,输出。
输入格式:
输入一行字符串。
输出格式:
输出转换后的16、10、8、2进制数。数据之间有1个空格。(16进制字母小写)
输入样例:
_ahg1*B
结尾无空行
输出样例:
a1b 2587 5033 101000011011
结尾无空行
'''
16进制表示包含数字0-9,字母a-e
'''
strs="_3a3d%$4 v#cbAA&"
#构造16进制表示字符串
hexstrs="0123456789abcde"
hexs=[i for i in strs if i in hexstrs]
#转换为10进制
int_num=int("".join(hexs),16)
#用字符串格式化方法打印结果
print("{0:x} {0:d} {0:o} {0:b}".format(int_num))
#正则方法
strs="_3a3d%$4 v#cbAA&"
r = re.compile(r"[0-9A-Fa-f]+")
k ="".join(r.findall(strs))
print("正则方法:{0:x} {0:d} {0:o} {0:b}".format(int(k,16)))