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


Posted in Python onApril 05, 2015

在我的印象里面进制互相转换确实是很常见的问题,所以在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 相关文章推荐
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 Python
Python使用shelve模块实现简单数据存储的方法
May 20 Python
深入理解python多进程编程
Jun 12 Python
python分治法求二维数组局部峰值方法
Apr 03 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
Jul 30 Python
linux环境下Django的安装配置详解
Jul 22 Python
Python 从subprocess运行的子进程中实时获取输出的例子
Aug 14 Python
通过实例学习Python Excel操作
Jan 06 Python
基于virtualenv创建python虚拟环境过程图解
Mar 30 Python
Python中的None与 NULL(即空字符)的区别详解
Sep 24 Python
python中封包建立过程实例
Feb 18 Python
python中Pyqt5使用Qlabel标签播放视频
Apr 22 Python
Python中使用第三方库xlrd来写入Excel文件示例
Apr 05 #Python
Python中使用第三方库xlrd来读取Excel示例
Apr 05 #Python
Python中使用第三方库xlutils来追加写入Excel文件示例
Apr 05 #Python
Python下使用Psyco模块优化运行速度
Apr 05 #Python
Python中使用tarfile压缩、解压tar归档文件示例
Apr 05 #Python
低版本中Python除法运算小技巧
Apr 05 #Python
Python中使用PDB库调试程序
Apr 05 #Python
You might like
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
php 伪静态之IIS篇
2014/06/02 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
js判断上传文件的类型和大小示例代码
2013/10/18 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
javaScript中slice函数用法实例分析
2015/06/08 Javascript
jQuery实现平滑滚动的标签分栏切换效果
2015/08/28 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
小程序数据通信方法大全(推荐)
2019/04/15 Javascript
ES6 Object属性新的写法实例小结
2019/06/25 Javascript
layui 阻止图片上传的实例(before方法)
2019/09/26 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
python实现可以断点续传和并发的ftp程序
2016/09/13 Python
Python如何调用外部系统命令
2019/08/07 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
jupyter notebook指定启动目录的方法
2021/03/02 Python
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
韩国保养品、日本药妆购物网:小三美日
2018/12/30 全球购物
求网格中的黑点分布
2013/11/06 面试题
利用指针变量实现队列的入队操作
2012/04/07 面试题
面向对象概念面试题(.NET)
2016/11/04 面试题
工程造价专业大学生自荐信
2013/10/01 职场文书
业务部经理岗位职责
2014/01/04 职场文书
考试不及格检讨书
2014/01/09 职场文书
开工仪式策划方案
2014/05/23 职场文书
介绍信模板
2015/01/31 职场文书
升职自荐信怎么写
2015/03/05 职场文书
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
2021/04/22 PostgreSQL
图文详解Nginx版本平滑升级方案
2021/09/15 Servers