Python中不同進位互相轉換(二進位、八進位、十進位和十六進位)_python

來源:互聯網
上載者:User

在我的印象裡面進位互相轉換確實是很常見的問題,所以在Python中,自然也少不了把下面這些代碼收為util。

這是從網上搜尋的一篇也的還可以的Python進位轉換,經過驗證可以使用。下面貼出它的實現代碼:

#!/usr/bin/env python # -*- coding: utf-8 -*- # 2/10/16 base trans. wrote by srcdog on 20th, April, 2009 # ld elements in base 2, 10, 16.  import os,sys  # global definition # base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F] base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]  # bin2dec # 二進位 to 十進位: int(str,n=10)  def bin2dec(string_num):   return str(int(string_num, 2))  # hex2dec # 十六進位 to 十進位 def hex2dec(string_num):   return str(int(string_num.upper(), 16))  # dec2bin # 十進位 to 二進位: bin()  def dec2bin(string_num):   num = int(string_num)   mid = []   while True:     if num == 0: break     num,rem = divmod(num, 2)     mid.append(base[rem])    return ''.join([str(x) for x in mid[::-1]])  # dec2hex # 十進位 to 八進位: oct()  # 十進位 to 十六進位: hex()  def dec2hex(string_num):   num = int(string_num)   mid = []   while True:     if num == 0: break     num,rem = divmod(num, 16)     mid.append(base[rem])    return ''.join([str(x) for x in mid[::-1]])  # hex2tobin # 十六進位 to 二進位: bin(int(str,16))  def hex2bin(string_num):   return dec2bin(hex2dec(string_num.upper()))  # bin2hex # 二進位 to 十六進位: hex(int(str,2))  def bin2hex(string_num):   return dec2hex(bin2dec(string_num))

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.