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库urllib与urllib2主要区别分析
Jul 13 Python
python实现删除文件与目录的方法
Nov 10 Python
Python使用defaultdict读取文件各列的方法
May 11 Python
Python2.7基于笛卡尔积算法实现N个数组的排列组合运算示例
Nov 23 Python
浅析python实现scrapy定时执行爬虫
Mar 04 Python
python通过微信发送邮件实现电脑关机
Jun 20 Python
python去除拼音声调字母,替换为字母的方法
Nov 28 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
Python文件读写常见用法总结
Feb 22 Python
Python3.0 实现决策树算法的流程
Aug 08 Python
python基于socket函数实现端口扫描
May 28 Python
Python网络编程之ZeroMQ知识总结
Apr 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 图片加水印与上传图片加水印php类
2010/05/12 PHP
PHP通过header实现文本文件下载的代码
2010/08/08 PHP
php 求质素(素数) 的实现代码
2011/04/12 PHP
PHP flock 文件锁详细介绍
2012/12/29 PHP
PHP错误提示的关闭方法详解
2013/06/23 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
Laravel框架实现简单的学生信息管理平台案例
2019/05/07 PHP
JS中Location使用详解
2015/05/12 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
JavaScript的变量声明提升问题浅析(Hoisting)
2016/11/30 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
json对象及数组键值的深度大小写转换问题详解
2018/03/30 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
JavaScript数组排序小程序实现解析
2020/01/13 Javascript
[00:57]英雄,你的补给到了!
2020/11/13 DOTA
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
Python实现的简单算术游戏实例
2015/05/26 Python
python中使用正则表达式的连接符示例代码
2017/10/10 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
详解css3中的伪类before和after常见用法
2020/11/17 HTML / CSS
英国派对礼服和连衣裙购物网站:TFNC London
2018/07/07 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
技术总监个人的自我评价范文
2013/12/18 职场文书
《胡杨》教学反思
2014/02/16 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
导游词之杭州西湖
2019/09/19 职场文书