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使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
Jul 24 Python
Django ORM框架的定时任务如何使用详解
Oct 19 Python
Pycharm 设置默认头的图文教程
Jan 17 Python
使用Python批量修改文件名的代码实例
Jan 24 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
Feb 22 Python
Django框架搭建的简易图书信息网站案例
May 25 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
python list转置和前后反转的例子
Aug 26 Python
python des,aes,rsa加解密的实现
Jan 16 Python
Python中lru_cache的使用和实现详解
Jan 25 Python
python 制作网站小说下载器
Feb 20 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遍历二维数组的代码
2011/04/22 PHP
php入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
php中的curl使用入门教程和常见用法实例
2014/04/10 PHP
js代码实现微博导航栏
2015/07/30 PHP
IE6 弹出Iframe层中的文本框“经常”无法获得输入焦点
2009/12/27 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
2014/02/22 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
webpack打包非模块化js的方法
2018/10/24 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
浅谈Python中的数据类型
2015/05/05 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
opencv实现图片模糊和锐化操作
2018/11/19 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
python中metaclass原理与用法详解
2019/06/25 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
python 列表、字典和集合的添加和删除操作
2019/12/16 Python
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
会计岗位职责
2013/11/08 职场文书
成品仓管员岗位职责
2013/12/11 职场文书
社团招新策划书
2014/02/04 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
cf战队收人广告词
2014/03/14 职场文书
团结友爱主题班会
2015/08/13 职场文书
《分一些蚊子进来》读后感3篇
2020/01/09 职场文书
opencv用VS2013调试时用Image Watch插件查看图片
2021/07/26 Python