Python中不同进制互相转换(二进制、八进制、十进制和十六进制)

作者:junjie 时间:2022-02-12 02:32:55 

在我的印象里面进制互相转换确实是很常见的问题,所以在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))
标签:Python,进制转换,二进制,八进制,十进制,十六进制
0
投稿

猜你喜欢

  • ASP利用Google实现在线翻译功能

    2010-03-07 17:28:00
  • python用类实现文章敏感词的过滤方法示例

    2022-04-10 19:30:25
  • Python 查找list中的某个元素的所有的下标方法

    2022-10-15 21:48:16
  • 个人从事设计行业40句观感

    2008-04-07 13:58:00
  • 使用Python获取字典键对应值的两种方法

    2022-08-04 05:25:16
  • Python中使用glob和rmtree删除目录子目录及所有文件的例子

    2023-12-26 07:14:18
  • PHP操作数组的一些函数整理介绍

    2023-11-24 14:24:17
  • RDFa介绍——构建更友好的web页面

    2009-09-19 17:01:00
  • python实现剪切功能

    2023-02-27 17:52:01
  • python利用元类和描述器实现ORM模型的详细步骤

    2023-11-13 14:54:12
  • Python获取脚本所在目录的正确方法

    2022-12-07 14:37:36
  • 详解Python常用标准库之os模块与shutil模块

    2023-06-13 04:19:20
  • 关于Python 列表的索引取值问题

    2022-09-08 05:39:54
  • python pycurl验证basic和digest认证的方法

    2022-12-17 23:01:15
  • 详解python中的hashlib模块的使用

    2022-02-24 17:05:37
  • asp如何制作一个文本文件编辑器?

    2010-07-07 12:26:00
  • Python实现线性判别分析(LDA)的MATLAB方式

    2022-07-21 02:38:34
  • python海龟绘图之画国旗实例代码

    2022-03-06 14:57:23
  • 关于Python的一些学习总结

    2022-01-10 11:23:41
  • 深入了解python的tkinter实现简单登录

    2023-03-25 14:15:27
  • asp之家 网络编程 m.aspxhome.com