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中暂存上传图片的方法
Feb 18 Python
Python利用itchat对微信中好友数据实现简单分析的方法
Nov 21 Python
Python使用装饰器进行django开发实例代码
Feb 06 Python
Python过滤txt文件内重复内容的方法
Oct 21 Python
python+openCV利用摄像头实现人员活动检测
Jun 22 Python
Python用Try语句捕获异常的实例方法
Jun 26 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 Python
Pandas+Matplotlib 箱式图异常值分析示例
Dec 09 Python
python使用配置文件过程详解
Dec 28 Python
Django Xadmin多对多字段过滤实例
Apr 07 Python
使用Python实现微信拍一拍功能的思路代码
Jul 09 Python
Python中的tkinter库简单案例详解
Jan 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
Views rows style模板重写代码
2011/05/16 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
Ruffy javascript 学习笔记
2009/11/30 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
angular4强制刷新视图的方法
2018/10/09 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
vue 使用高德地图vue-amap组件过程解析
2019/09/07 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
Python深入学习之装饰器
2014/08/31 Python
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
Python全局变量用法实例分析
2016/07/19 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
Python实现KNN邻近算法
2021/01/28 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
使用HTML5捕捉音频与视频信息概述及实例
2018/08/22 HTML / CSS
Nisbets爱尔兰:英国最大的厨房和餐饮设备供应商
2019/01/26 全球购物
北体毕业生求职信
2014/02/28 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
法定授权委托证明书
2014/09/27 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书
大学军训口号大全
2015/12/24 职场文书
Pytorch数据读取之Dataset和DataLoader知识总结
2021/05/23 Python
java代码实现空间切割
2022/01/18 Java/Android