python中進制轉換及IP地址轉換


各進制之間轉換:

1 # 轉二進制用bin(int(x,n))        #用幾進制轉換n就是幾
2 # 轉八進制用oct(int(x,n))        #x位置放現有進制字符串
3 # 轉十進制用int(x,n)
4 # 轉十六進制用hex(int(x,n))

十進制轉二進制IP:

1 def convert(n):
2     a = n.split(".")
3     lst = []
4     for i in a:
5         two = bin(int(i,10)).lstrip("0b")         #十進制轉換成二進制,並去掉開頭的0和b,,(根據需要)
6         lst.append(two.zfill(8))                  #十進制添加到列表,不足處用0補位
7     return " ".join(lst)                          #把列表用" "連接起來
8 print(convert("102.3.9.129"))

結果對照:

1 01100110 00000011 00001001 10000001

二進制轉十進制IP:

1 def convert(n):
2     a = n.split(" ")
3     lst = []
4     for i in a:
5         lst.append(str(int(i, 2)))                #將二進制轉換成十進制,並添加到列表
6     return ".".join(lst)                          #把列表用"."連接起來
7 print(convert("01100110 00000011 00001001 10000001"))

結果對照:

1 102.3.9.129

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM