python 进制转换 int、bin、oct、hex的原理


Posted in Python onJanuary 13, 2021

原理

十进制转n进制都可以使用倒除法:对十进制进行除n的运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来.
n进制转十进制:(例子:二进制转十进制)
101001 => 2^5 + 2^3 + 1 = 32 + 8 + 1 = 41
10111 => 2^4 + 2^2 + 2 + 1 = 16 + 4 + 2 +1 = 23
同样类推一下,n进制转十进制就是将2为底换成n为底就好了


还有其他方法,比如使用中间二进制,
例如,将十进制转成八进制或者十六进制,先转成二进制再转成八进制或者十六进制
十进制 => 二进制 => 十六进制
520 => 1000001000 (512+8) => 10 0000 1000 => 208(十六进制)
1314 => 10100100010(二进制) => 2442(八进制) => 522(十六进制)


八进制或者十六进制转成十进制
十六进制 => 二进制 => 十进制
522 => 0101 0010 0010 => 1024 + 256 + 32 + 2 = 1280+34 = 1314(十进制)

十进制转其他进制的数

使用内置函数bin、oct、hex可以将整数转换成对应的二进制、八进制、十六进制;
注意只能转换整数,返回的数据是一个字符串类型

a = 12# 默认数字都是十进制
print(a)# 12
b = 0b0101010111#以0b开头的是二进制数,默认也是十进制输出
print(b)# 343
c = 0o33# 以0o开头的是八进制数
print(c)# 27
d = 0x24# 以0x开头的是十六进制数
print(d)# 36
a = 12 # 12是十进制数
print(bin(a))# 0b1100 使用bin内置函数可以将数字转换为二进制
print(oct(a))# 0o14 使用oct内置函数可以将数字转换为八进制
print(hex(a))# 0xc 使用hex内置函数可以将数字转换为十六进制
print(type(bin(a)))# <class 'str'>
print(bin(0o1111))# 0b1001001001
print(bin(0xff))# 0b11111111
print(oct(0xff))# 0o377
print(hex(0b00011111)) # 0x1f
# print(bin(1.12))
# print(oct(1.12))
# print(hex(1.12))
# TypeError: 'float' object cannot be interpreted as an integer

其他进制转换成十进制

int函数的使用
int(x, base=10)base是进制,默认是十进制
int函数常用来将其他类型的数据转换成整型
注意
x 有两种:str / int
1、若 x 为纯数字,就不能给base传参数,否则就会报错
2、若 x 为 str,则可以给base传参,不传就默认是10;给base传什么参数就认为此字符串为什么进制的数,然后把它转换成十进制的数,但字符串里的数必须符合该进制规范,否则会报错

print(int(3.112))# 3
# print(int(3.112,8))# TypeError: int() can't convert non-string with explicit base
print(int('10',2))# 2
# print(int('22',2))# ValueError: invalid literal for int() with base 2: '22'
print(int('0xaaa',16))# 2730
print(int('0b111',2))# 7
print(int('0o1237',8))# 671

到此这篇关于python 进制转换 int、bin、oct、hex的原理的文章就介绍到这了,更多相关python 进制转换 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python矩阵常见运算操作实例总结
Sep 29 Python
使用python实现ANN
Dec 20 Python
python中使用%与.format格式化文本方法解析
Dec 27 Python
一些Centos Python 生产环境的部署命令(推荐)
May 07 Python
python检测IP地址变化并触发事件
Dec 26 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
详解python配置虚拟环境
Apr 08 Python
django 配置阿里云OSS存储media文件的例子
Aug 20 Python
Python 多线程C段扫描、检测 Ping扫描脚本的实现
Sep 03 Python
Python SMTP发送电子邮件的示例
Sep 23 Python
python 逐步回归算法
Apr 06 Python
python超详细实现完整学生成绩管理系统
Mar 17 Python
python pillow库的基础使用教程
Jan 13 #Python
用python-webdriver实现自动填表的示例代码
Jan 13 #Python
python 装饰器的基本使用
Jan 13 #Python
python日志通过不同的等级打印不同的颜色(示例代码)
Jan 13 #Python
浅谈Selenium+Webdriver 常用的元素定位方式
Jan 13 #Python
Selenium Webdriver元素定位的八种常用方式(小结)
Jan 13 #Python
基于python+selenium自动健康打卡的实现代码
Jan 13 #Python
You might like
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
jquery 批量上传图片实现代码
2010/01/28 Javascript
对jQuery的事件绑定的一些思考(补充)
2013/04/20 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
Javascript让DEDECMS告别手写Tag
2014/09/01 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
详解JS模块导入导出
2017/12/20 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
python对字典进行排序实例
2014/09/25 Python
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
python3 selenium自动化 frame表单嵌套的切换方法
2019/08/23 Python
在pycharm中创建django项目的示例代码
2020/05/28 Python
使用sklearn对多分类的每个类别进行指标评价操作
2020/06/11 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
员工试用期考核自我鉴定
2014/04/13 职场文书
健康教育评估方案
2014/05/25 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
交通事故协议书范文
2014/10/23 职场文书
大学开学感言
2015/08/01 职场文书
8g内存用python读取10文件_面试题-python 如何读取一个大于 10G 的txt文件?
2021/05/28 Python
Windows11 Insider Preview Build 25206今日发布 更新内容汇总
2022/09/23 数码科技