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定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
python list 合并连接字符串的方法
Mar 09 Python
Python常用模块用法分析
Sep 08 Python
python实现word 2007文档转换为pdf文件
Mar 15 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
May 11 Python
Python基于lxml模块解析html获取页面内所有叶子节点xpath路径功能示例
May 16 Python
python使用matplotlib画柱状图、散点图
Mar 18 Python
Python2与Python3的区别实例分析
Apr 11 Python
python使用mitmproxy抓取浏览器请求的方法
Jul 02 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
在pandas中遍历DataFrame行的实现方法
Oct 23 Python
python随机打印成绩排名表
Jun 23 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网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
PHP反射API示例分享
2016/10/08 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
JQuery AJAX提交中文乱码的解决方案
2010/07/02 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
Highcharts 非常实用的Javascript统计图demo示例
2013/07/03 Javascript
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
JavaScript & jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
详解js前端代码异常监控
2017/01/11 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
生成无限制的微信小程序码的示例代码
2019/09/20 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
原生js实现分页效果
2020/09/23 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
js实现筛选功能
2020/11/24 Javascript
九步学会Python装饰器
2015/05/09 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
Python 实例方法、类方法、静态方法的区别与作用
2019/08/14 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
.NET remoting的两种通道是什么
2016/05/31 面试题
商场端午节活动方案
2014/01/29 职场文书
融资租赁计划书
2014/04/29 职场文书
社团活动总结模板
2014/06/30 职场文书
感谢信格式范文
2015/01/22 职场文书
话题作文之学会尊重
2019/12/16 职场文书
HAM-2000摩机图
2021/04/22 无线电
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server