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 11 Python
python实现实时监控文件的方法
Aug 26 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
Python实现生成随机数据插入mysql数据库的方法
Dec 25 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
Jun 03 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
PyCharm使用Docker镜像搭建Python开发环境
Dec 26 Python
tensorflow转换ckpt为savermodel模型的实现
May 25 Python
python爬虫---requests库的用法详解
Sep 28 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
Oct 20 Python
python模拟点击玩游戏的实例讲解
Nov 26 Python
Python Pandas模块实现数据的统计分析的方法
Jun 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
用PHP函数解决SQL injection
2006/12/09 PHP
PHP 获取目录下的图片并随机显示的代码
2009/12/28 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
prototype 1.5 & scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
JS高级笔记
2011/07/13 Javascript
jquery中通过父级查找进行定位示例
2013/06/28 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
2013/11/22 Javascript
JavaScript日期时间格式化函数分享
2014/05/05 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
JavaScript实现动态添加Form表单元素的方法示例
2017/08/14 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
python任务调度实例分析
2015/05/19 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
PyQt5笔记之弹出窗口大全
2019/06/20 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
2019/06/21 Python
python网络编程socket实现服务端、客户端操作详解
2020/03/24 Python
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
Wiggle中国:英国骑行、跑步、游泳 & 铁三运动装备专卖网店
2016/08/02 全球购物
MAC Cosmetics巴西官方网站:M·A·C彩妆
2019/04/18 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
就业意向书
2014/07/29 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
西岭雪山导游词
2015/02/06 职场文书
无保留意见审计报告
2015/06/05 职场文书
陪护人员误工证明
2015/06/24 职场文书
奠基仪式致辞
2015/07/30 职场文书