二进制、十进制、十六进制之间转换

约定不等于承诺〃 2022-12-03 02:20 305阅读 0赞
  1. 十进制转二进制,快捷算法除二取余一直除到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
  2. 十六进制数码为: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
  3. 十六进制转十进制:例如1E = 1*(16^1) + 14 = 30
  4. 二进制转十进制:例如101101 = 1*2的5次方+1*2的3次方+1*2的2次方+1*2的0次方=45

    二进制 to 十进制

    def bin2dec(string_num):

    1. return str(int(string_num, 2))
  1. # 十六进制 to 十进制
  2. def hex2dec(string_num):
  3. return str(int(string_num.upper(), 16))
  4. # 十进制 to 二进制
  5. def dec2bin(string_num):
  6. num = int(string_num)
  7. if num == 0:
  8. return num
  9. return bin(num)
  10. # 十进制 to 十六进制
  11. def dec2hex(string_num):
  12. num = int(string_num)
  13. if num == 0:
  14. return num
  15. return hex(num)
  16. # 十六进制 to 二进制
  17. def hex2bin(string_num):
  18. return dec2bin(hex2dec(string_num.upper()))
  19. # 二进制 to 十六进制
  20. def bin2hex(string_num):
  21. return dec2hex(bin2dec(string_num))

发表评论

表情:
评论列表 (有 0 条评论,305人围观)

还没有评论,来说两句吧...

相关阅读