二进制、八进制、十进制、十六进制之间的相互转换
二进制、八进制、十进制、十六进制之间的相互转换。
目前创新互联已为上千的企业提供了网站建设、域名、网页空间、网站托管、企业网站设计、通川网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
代码:
# -*- coding: UTF-8 -*-
# 主要的思想,就是,先把数字转成10进制,利用10进制中的自带函数去解决
# 十进制数字
num = 10
# 十进制的分别转换成2/8/16进制
print("二进制", bin(num), type(bin(num)))
print("八进制", oct(num), type(oct(num)))
print("十六进制", hex(num), type(hex(num)))
print("2#####################################################")
# 2进制数字
twonum = bin(num)
# 2进制的分别转换成10/8/16进制
print("十进制", int(twonum, 2), type(int(twonum, 2))) # 其他的转换都以这个为主
print("八进制", oct(int(twonum, 2)), type(oct(int(twonum, 2))))
print("十六进制", hex(int(twonum, 2)), type(hex(int(twonum, 2))))
print("8#####################################################")
# 8进制数字
eightnum = oct(num)
# 8进制的分别转换成2/10/16进制
print("十进制", int(eightnum, 8), type(int(eightnum, 8))) # 其他的转换都以这个为主
print("二进制", bin(int(eightnum, 8)), type(bin(int(eightnum, 8))))
print("十六进制", hex(int(eightnum, 8)), type(hex(int(eightnum, 8))))
print("16#####################################################")
# 16进制数字
sixteennum = hex(num)
# 16进制的分别转换成2/8/10进制
print("十进制", int(sixteennum, 16), type(int(sixteennum, 16))) # 其他的转换都以这个为主
print("二进制", bin(int(sixteennum, 16)), type(bin(int(sixteennum, 16))))
print("八进制", oct(int(sixteennum, 16)), type(oct(int(sixteennum, 16))))
运行结果:
二进制 0b1010
八进制 0o12
十六进制 0xa
2#####################################################
十进制 10
八进制 0o12
十六进制 0xa
8#####################################################
十进制 10
二进制 0b1010
十六进制 0xa
16#####################################################
十进制 10
二进制 0b1010
八进制 0o12
[Finished in 0.5s]
注意一下其中的数据类型,只有十进制的数字是int类型。
如果单独输入其他某个进制的,其为int类型,只要转成str就行了。
本文题目:二进制、八进制、十进制、十六进制之间的相互转换
转载源于:http://scyanting.com/article/gojsse.html