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 相关文章推荐
wxpython 学习笔记 第一天
Mar 16 Python
python计算时间差的方法
May 20 Python
[原创]使用豆瓣提供的国内pypi源
Jul 02 Python
python利用urllib和urllib2访问http的GET/POST详解
Sep 27 Python
Python模块搜索路径代码详解
Jan 29 Python
Python实现正则表达式匹配任意的邮箱方法
Dec 20 Python
selenium 安装与chromedriver安装的方法步骤
Jun 12 Python
python性能测量工具cProfile使用解析
Sep 26 Python
Python如何爬取b站热门视频并导入Excel
Aug 10 Python
Pycharm连接gitlab实现过程图解
Sep 01 Python
Python OpenCV 彩色与灰度图像的转换实现
Jun 05 Python
Python中的 No Module named ***问题及解决
Jul 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+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
ThinkPHP5&5.1框架关联模型分页操作示例
2019/08/03 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
js创建表单元素并使用submit进行提交
2014/08/14 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
BootStrap glyphicons 字体图标实现方法
2016/05/01 Javascript
JavaScript正则替换HTML标签功能示例
2017/03/02 Javascript
nodejs 子进程正确的打开方式
2017/07/03 NodeJs
简单谈谈js的数据类型
2017/09/25 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
原生JS实现京东查看商品点击放大
2020/12/21 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
python 美化输出信息的实例
2018/10/15 Python
六行python代码的爱心曲线详解
2019/05/17 Python
浅析Python 引号、注释、字符串
2019/07/25 Python
Python数据处理篇之Sympy系列(五)---解方程
2019/10/12 Python
Python中如何添加自定义模块
2020/06/09 Python
keras topN显示,自编写代码案例
2020/07/03 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
试用期转正鉴定评语
2014/01/27 职场文书
大学生全国两会报告感想
2014/03/17 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
学用政策心得体会
2014/09/10 职场文书
2014年平安建设工作总结
2014/11/19 职场文书
2015年办公室工作总结范文
2015/03/31 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书
MySQL基础(二)
2021/04/05 MySQL