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编码时应该注意的几个情况
Mar 04 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
May 18 Python
pandas进行数据的交集与并集方式的数据合并方法
Jun 27 Python
python实现在图片上画特定大小角度矩形框
Oct 24 Python
解决vscode python print 输出窗口中文乱码的问题
Dec 03 Python
深入了解和应用Python 装饰器 @decorator
Apr 02 Python
python pygame实现方向键控制小球
May 17 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 Python
Python:合并两个numpy矩阵的实现
Dec 02 Python
Flask模板引擎Jinja2使用实例
Apr 23 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
Oct 15 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
Feb 25 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在不同页面间传递Json数据示例代码
2013/06/08 PHP
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
PHP采用XML-RPC构造Web Service实例教程
2014/07/16 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
newxtree.js代码
2007/03/13 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
AngularJS基础 ng-src 指令简单示例
2016/08/03 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
jQuery Position方法使用和兼容性
2017/08/23 jQuery
基于iScroll实现内容滚动效果
2018/03/21 Javascript
vue项目中引入vue-datepicker插件的详解
2019/05/14 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
python遍历类中所有成员的方法
2015/03/18 Python
老生常谈python中的重载
2018/11/11 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
Django实现跨域请求过程详解
2019/07/25 Python
python线程的几种创建方式详解
2019/08/29 Python
python实现代码统计程序
2019/09/19 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
Python Sqlalchemy如何实现select for update
2020/10/12 Python
初中班主任评语
2014/04/24 职场文书
红头文件任命书范本
2014/06/05 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
小学生心理健康活动总结
2015/05/08 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
oracle重置序列从0开始递增1
2022/02/28 Oracle