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访问纯真IP数据库脚本分享
Jun 29 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
对python的文件内注释 help注释方法
May 23 Python
Tensorflow实现卷积神经网络的详细代码
May 24 Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 Python
python浪漫表白源码
Apr 05 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
调试Django时打印SQL语句的日志代码实例
Sep 12 Python
Python socket模块ftp传输文件过程解析
Nov 05 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
Python中zipfile压缩文件模块的基本使用教程
Jun 14 Python
matplotlib 范围选区(SpanSelector)的使用
Feb 24 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
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
Zend Framework教程之Bootstrap类用法概述
2016/03/14 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
PHP 实现从数据库导出到.csv文件方法
2017/07/06 PHP
一款js和css代码压缩工具[附JAVA环境配置方法]
2010/04/16 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
js表格排序实例分析(支持int,float,date,string四种数据类型)
2015/05/06 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
基于vue+echarts数据可视化大屏展示的实现
2020/12/25 Vue.js
scrapy爬虫实例分享
2017/12/28 Python
Python3实现的简单验证码识别功能示例
2018/05/02 Python
python判断设备是否联网的方法
2018/06/29 Python
解析Python的缩进规则的使用
2019/01/16 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
新奇的小玩意:IWOOT
2016/07/21 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
Java如何调用外部Exe程序
2015/07/04 面试题
有模特经验的简历自我评价
2013/09/19 职场文书
环保专业大学生职业规划设计
2014/01/10 职场文书
学生会离职感言
2014/02/11 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
小学生学习感言
2014/03/10 职场文书
国旗下演讲稿
2014/05/08 职场文书
十佳少年事迹材料
2014/12/25 职场文书
财务经理岗位职责
2015/01/31 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
MongoDB数据库的安装步骤
2021/06/18 MongoDB