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异步任务队列示例
Apr 01 Python
Django框架中的对象列表视图使用示例
Jul 21 Python
Python中数字以及算数运算符的相关使用
Oct 12 Python
python魔法方法-属性转换和类的表示详解
Jul 22 Python
Python优化技巧之利用ctypes提高执行速度
Sep 11 Python
使用python 打开文件并做匹配处理的实例
Jan 02 Python
Python-copy()与deepcopy()区别详解
Jul 12 Python
Python3 assert断言实现原理解析
Mar 02 Python
基于python实现数组格式参数加密计算
Apr 21 Python
详解Python多线程下的list
Jul 03 Python
python3中TQDM库安装及使用详解
Nov 18 Python
python机器学习创建基于规则聊天机器人过程示例详解
Nov 02 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 动态添加记录
2009/03/10 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
PHP接入支付宝接口失效流程详解
2020/11/10 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
2018/01/05 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
python 将字符串转换成字典dict
2013/03/24 Python
python中lambda函数 list comprehension 和 zip函数使用指南
2014/09/28 Python
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
详解Golang 与python中的字符串反转
2017/07/21 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
Python多进程fork()函数详解
2019/02/22 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
python Canny边缘检测算法的实现
2020/04/24 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
优秀员工演讲稿
2014/05/19 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
新员工入职感言范文!
2019/07/04 职场文书
MySQL中datetime时间字段的四舍五入操作
2021/10/05 MySQL
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏