二进制、十进制、十六进制之间转换
- 十进制转二进制,快捷算法除二取余一直除到0结束。例如45,45/2=22余1,22/2=11余0,11/2=5余1,5/2=2余1,2/2=1余0,1/2除不开余1,所以45的二进制为101101
- 十六进制数码为:0、1、2、3、4、5、6、7、8、9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15),十进制转16进制,快捷算法除十六取余,通过余数对照十六进制数值。例如30,30/16=1余下14,对应的是E。所以30=1E
- 十六进制转十进制:例如1E = 1*(16^1) + 14 = 30
二进制转十进制:例如101101 = 1*2的5次方+1*2的3次方+1*2的2次方+1*2的0次方=45
二进制 to 十进制
def bin2dec(string_num):
return str(int(string_num, 2))
# 十六进制 to 十进制
def hex2dec(string_num):
return str(int(string_num.upper(), 16))
# 十进制 to 二进制
def dec2bin(string_num):
num = int(string_num)
if num == 0:
return num
return bin(num)
# 十进制 to 十六进制
def dec2hex(string_num):
num = int(string_num)
if num == 0:
return num
return hex(num)
# 十六进制 to 二进制
def hex2bin(string_num):
return dec2bin(hex2dec(string_num.upper()))
# 二进制 to 十六进制
def bin2hex(string_num):
return dec2hex(bin2dec(string_num))
还没有评论,来说两句吧...