Python整数进制间转换
Python整数进制间转换
tips:
- 本文代码基于python3编写
- 代码仓库
Python进制
Python中能够识别二进制、八进制、十进制及十六进制,Python整数显示进制为十进制,其他进制作为补充。
例如12在Python中各进制下的表示:
进制 | 表示 |
---|---|
二进制 | 0b1100 |
八进制 | 0o14 |
十进制 | 12 |
十六进制 | 0xc |
二进制
二进制是计算技术中广泛采用的一种数制。二进制是一种以2为基数的计数法,采用0和1两个数,逢二进一。
二进制转八进制
二进制转八进制,二进制3位为一个单位按照二进制转十进制的方式转换,依次类推然后倒序拼接即可。
#----- 手动转换--------# # 取3位为一个单位,不够的补零 0b1100 -> 0b001100 # 从右向左取第一组3位,作为八进制第0位数字 100 -> 1*2**2 + 0*2**1 + 0*2**0 = 4 # 从右向左取第二组3位(不够3位补零),作为八进制第1位数字 001 -> 0*2**2 + 0*2**1 + 1*2**0 = 1 # 最后八进制数 0o14#----- Python函数转换--------# # 方法1,oct函数 >>> oct(0b1100) '0o14' # 方法2,先转为十进制,然后转为八进制 >>> oct(int("0b1100",2)) '0o14' >>> oct(int(0b1100)) '0o14'
二进制转十进制
二进制数第0位的权值是2的0次方,第1位的权值是2的1次方,依次类推,权值乘以相应系数并相加即可得到十进制数。
#----- 手动转换--------# 0b1100 -> 1*2**3 + 1*2**2 + 0*2**1 + 0*2**0 = 12 #----- Python函数转换--------# # 方法1,字符型整数转十进制,指定解析进制类型 >>> int('0b1100',2) 12 # 方法2,自动识别输入进制类型,并转为十进制 >>> int(0b1100) 12
二进制转十六进制
二进制转十六进制,二进制4位为一个单位按照二进制转十进制的方式转换,依次类推然后倒序拼接即可。由于十六进制就是逢16进1,但我们只有0~9这十个数字,所以我们用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。字母不区分大小写。
#----- 手动转换--------# # 取4位为一个单位,不够的补零 0b1100 -> 0b1100 # 从右向左取第一组4位,作为十六进制第0位数字 1100 -> 1*2**3 + 1*2**2 + 0*2**1 + 0*2**0 = 12 -> c # 最后十六制数 0xc#----- Python函数转换--------# # 方法1,hex函数 >>> hex(0b1100) '0xc' # 方法2,先转为十进制,然后转为十六进制 >>> hex(int("0b1100",2)) '0xc' >>> hex(int(0b1100)) '0xc'
八进制
八进制是一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进一。
八进制转二进制
八进制转二进制是二进制转八进制的反向过程,按照顺序,每1位八进制数改写成等值的3位二进制数,次序不变,不足时在最左边补零。
#----- 手动转换--------# # 从右向左取第一位数转换 4 = 1*2**2 + 0*2**1 + 0*2**0 -> 100 # 从右向左取第二位数转换 1 = 1*2**0 -> 001 # 最后二进制 0b001100 或 0b1100#----- Python函数转换--------# # 方法1,bin函数 >>> bin(0o14) '0b1100' # 方法2,先转为十进制,然后转为二进制 >>> bin(int("0o14",8)) '0b1100' >>> bin(int(0o14)) '0b1100'
八进制转十进制
八进制数第0位的权值是8的0次方,第1位的权值是8的1次方,依次类推,权值乘以相应系数并相加即可得到十进制数。
#----- 手动转换--------# 14 -> 1*8**1 + 4*8**0 = 12#----- Python函数转换--------# >>> int("0o14",8) 12 >>> int(0o14) 12
八进制转十六进制
八进制转十六进制有两种方法,一种是转为二进制然后再转十六进制,另一种是转为十进制然后转为十六进制。
#----- 手动转换--------# # 先转换为二进制,然后转换为十六进制 0o14 -> 0b1100 -> 1*2**3 + 1*2**2 + 0*2**1 + 0*2**0 = 12 -> 0xc # 先转换为十进制,然后转换为十六进制 0o14 -> 1*8**1 + 4*8**0 = 12 -> 0xc #----- Python函数转换--------# >>> hex(0o14) '0xc' >>> hex(int("0o14",8)) '0xc' >>> hex(int(0o14)) '0xc'
十进制
十进制转二进制
十进制转二进制,采用“除二取余,逆序排列”的方法,用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
#----- 手动转换--------## 12转换二进制如下12/2 ->06/2 ->03/2 ->11/2 ->112 --> 1100#----- Python函数转换--------#>>> bin(12)'0b1100'>>> bin(int("12",10))'0b1100'>>> hex(int(12))'0b1100'
十进制转八进制
十进制转八进制,采用“除八取余,逆序排列”的方法,类似于十进制转二进制的方法。
#----- 手动转换--------# # 12转换八进制如下 12/8 -> 4 1/8 -> 1 12 --> 14#----- Python函数转换--------# >>> oct(12) '0o14' >>> oct(int("12",10)) '0o14' >>> oct(int(12)) '0o14'
十进制转十六进制
十进制转十六进制,采用“除十六取余,逆序排列”的方法,类似于十进制转二进制的方法。用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15,字母不区分大小写。
#----- 手动转换--------# # 12转换十六进制如下 12/16 -> 12 12 --> 12 --> C#----- Python函数转换--------# >>> hex(12) '0xc' >>> hex(int("12",10)) '0xc' >>> hex(int(12)) '0xc'
十六进制
十六进制转二进制
十六进制转二进制,十六进制的一位对应二进制的四位,即每次取一位十六进制,按照十进制转二进制的方法,转换为4位的二进制。
#----- 手动转换--------# # 取一位十六进制转换二进制,依次类推,然后在组合即可 0xac c -> 12 -> 1100 a -> 10 -> 1010 0xac -> 10101100#----- Python函数转换--------# >>> bin(0xac) '0b10101100' >>> bin(int("0xac",16)) '0b10101100' >>> bin(int(0xac)) '0b10101100'
十六进制转八进制
十六进制转八进制有两种方法,一种是先转换为二进制然后在转换为八进制,另外一种是先转换为十进制然后在转换为八进制。
#----- 手动转换--------# # 先转换为二进制,然后转换为八进制 0xc -> 0b1100 100 -> 1*2**2 + 0*2**1 + 0*2**0 = 4 001 -> 0*2**2 + 0*2**1 + 1*2**0 = 1 0xc -> 0o14 # 先转换为十进制,然后转换为八进制 0xc -> 12*16**0= 12 -> 0o14#----- Python函数转换--------# >>> oct(0xc) '0o14' >>> oct(int("0xc",16)) '0o14' >>> oct(int(0xc)) '0o14'
十六进制转十进制
十六进制数第0位的权值是16的0次方,第1位的权值是16的1次方,依次类推,权值乘以相应系数并相加即可得到十进制数。
#----- 手动转换--------# 0xc -> 12*16**0 = 12#----- Python函数转换--------# >>> int("0xc",16) 12 >>> int(0xc) 12
总结
- Python进制转换函数,
bin
二进制、oct
八进制、int
十进制、hex
十六进制 - 十进制转二进制,除2取余法
- 十进制转八进制,除8取余法
- 十进制转十六进制,除16取余法
- 二进制转十进制,各位数*2^n,然后相加
- 八进制转十进制,各位数*8^n,然后相加
- 十六进制转十进制,各位数*16^n,然后相加
- 八进制与十六进制之间的转换的两种方法。
- 第一种:先转成二进制然后再相互转换。
- 第二种:先转成十进制然后再相互转换。
Python整数进制间转换相关推荐
- 16进制的两位数转换不了 matlab_【大学生计算机基础】进制那些问题。小数或整数转换,各种进制间转换.........
方便自己期末复习备考而准备(作为一名纯文科生,我对计算机课真的很抓狂.只好认认真真自个探究,整理些笔记.如果你也需要可以借鉴借鉴) ①进制? 嗯~这我觉得就不用多做解释了,大家都是上个计算机课的人,老 ...
- 【Python中整数进制的转换】
[小白从小学Python.C.Java] [Python-计算机等级考试二级] Python中整数进制的转换 选择题 在Python3.9中,以下python代码输出什么? myNumber = 10 ...
- 计算机各单位间转换(位,字节,进制间转换)
基本单位换算 bit:位 一个二进制数据0或1,是1bit: byte:字节 存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节: 1 byte = 8 bit ...
- linux系统计算器工具,Linux工具之bc计算器进制的转换
bc是Linux下的命令行式的计算器. 题目虽然叫任意进制,但是因为bc的限制,输入进制是216范围:输出进制是2999范围.这与常见计算器的进制范围是一致的,比如windows计算器最高也只能处理1 ...
- python进制间的转换
最近在做计算机网络课的一个课程项目,要在应用层实现可靠数据传输,即传输层用UDP不可靠信道.因为涉及到了字节流的传输,所以不可避免地要用到进制的转换,在查找了各处的资料之后,总结了以下方法. 以下代码 ...
- python测试脚本 进制转换器_进制转换(用Python实现进制转换器)
进制类型 进制可以分为以下几种类型: 1.1 二进制 字母B表示 1.2 八进制 字母O表示 1.3 十进制 字母D表示 14.4 十六机制 字母H表示 二进制:逢二进一,只有数字0 1 与十进制的换 ...
- 进制转换(用Python实现进制转换器)
进制类型 进制可以分为以下几种类型: 1.1 二进制 字母B表示 1.2 八进制 字母O表示 1.3 十进制 字母D表示 14.4 十六机制 字母H表示 二进制:逢二进一,只有数字0 1 与十进制的换 ...
- 【Python零基础入门篇 · 3】:掌握数值类型、进制的转换、字符串、占位符和格式化输入输出、标识符和保留字
目录 一.数值类型 1.整数类型 整数的不同进制表示方式 2.浮点类型 3.布尔类型 二.进制的转换 1.进制间的转换规则 十进制转换二.八.十六进制图解 2.进制转换的函数 三.字符串 1. 字符串 ...
- C++算法进制间的转换
进制间的转换 进制转换方法是什么? 进制转换的方法是:二进制数,十六进制数可以采用按权展开法转化为十进制数,十进制转化为R进制要分为两部分,其中整数部分要除R取余,直到商为0,小数部分要乘R取余直到得 ...
最新文章
- web3.js(一)根据地址查询以太数量
- python dict根据value找对应的key_一个不得不了解的Python库——collections
- 计算机系学生thinkbook,ThinkBook系列性能差,只能当一台学习机?其实它只是专注于办公...
- Interesting Finds: 2008.03.24
- 产品经理必看:终于有人把数据指标讲明白了
- socket编程:SO_REUSEADDR例解
- Trapcode套装插件原创图文/视频安装教程
- 软件架构--工业软件架构分析
- usb 驱动之usbip
- 模型思维2-如何增加用户对于某个商品的购买意愿?
- 你的优势在哪?开宝马的学渣教会我的事
- Unity官方文档(英文)
- tplink路由器设置网址方法
- LNMP添加、删除虚拟主机
- 商务英语中最易犯的五个错误
- BZOJ3039 玉蟾宫(单调栈)
- java工单管理系统_企业工单管理系统--使用mybatis
- opencv学习(0)小知识点汇总
- 什么是 go vendor
- 小师妹问 easyUI mergeCells 行合并后表头和内容对不齐
热门文章
- python报错 ‘utf-8‘ codec can‘t encode characters in position xxxx-xxxx: surrogates not allowed
- 求职英语_面试英文须知
- WML语言基础(WAP建站)一
- STM32F4结合ESP8266上传信息到one_net(中国移动物联网云台)的总结(含客户端查询)
- 阿里云学生服务器配置及免费学生机领取攻略
- nova-week3
- java毕业设计电影公司网Mybatis+系统+数据库+调试部署
- 我的Java Web之路 - Spring(1)- 介绍
- shell脚本及举例:依次创建10个目录在相应目录下创建10个文件,在相应文件下添加内容
- 计算机在水产养殖学中的应用,计算机视觉技术在水产养殖中的应用