点击这段文字: 获取2020年,最强Python学习资料

进制这块,可以做简单的了解。生活中我们使用的数字都是十进制的,而二进制是机器能够识别的最直接的语言。但是二进制又太大,记录起来非常的不方便。所以通常会将二进制转化为八进制或者十六进制。

日常生活中我们所说的数字 (十进制)在0~9之间,同理 二进制的范围是0~1,八进制的范围0~7,十六进制的范围0~15。那问题来了,当超过9之后,十六进制该如何表示呢?答案是用a~f,表示对应的10~15

进制的表达

在Python中该如何表示每一种进制呢?

  • 默认输入的数字为十进制
  • 以0b开头的数字表示二进制
  • 以0o开头的数字表示八进制
  • 以0x开头的数字表示十六进制
# 普通的十进制a = 12print(a) # 12

# 0b表示二进制b = 0b100100 print(b) # 36

# 0o表示八进制c = 0o56print(c) # 46

# 0x表示十六进制d = 0x2a1print(d) # 673

进制之间的转换

1、十进制转二进制

将十进制数除2取余数,直到商为0时。

以12为例,

12 / 2 = 6  余 0 

6  /  2 = 3  余 0

3  /  2 = 1  余 1

1  /  2 = 0  余 1

从上到下取余数,因此,12 对应的 二进制 为  :1100

2、二进制转十进制

把二进阶按权展开,相加即可。如二进制位:1100,按照下面的格式展开

   0    0   1     1

1\*2^0 1\*2^1 1\*2^2 1\*2^3 

0  *  1*2^0 + 0 * 1*2^1 + 1 *  1*2^2  + 1 * 1*2^3 = 12

3、二进制与八进制转换

将2进制从右到左的顺序按照3位拆分,不足时 补0。例如二进制:1100可拆分成

001 100  然后按权展开组合起来即可。

即:

0*2^2 + 0 * 2 ^ 1 + 1 * 2 ^ 0 = 1

1*2^2 +  0 * 2 ^ 1  +  0 * 2 ^ 0  = 4

因此对应的八进制为 14。

4、八进制转二进制

通过对八进制除2取余数,

1的二进制为1 ,不够3位补0,即001

4的二进制为100

因此八进制14转二进制的结果 为:001100

事实上,日常中用到的主要就是二进制和十进制的转换,其他了解一下就可以了。

在Python中,已经讲各种进制的转换进行了封装,直接调用即可。

a = 12print(bin(a)) # 0b1100   十进制转二进制print(oct(a)) # 0o14  十进制转八进制print(hex(a)) # 0xc   十进制转十六进制

# 二进制转十进制print(int('0b1100', 2))

# 八进制转十进制print(int('0o14', 8))

# 十六进制转十进制print(int('0xc', 16))

最后还是希望你们能给我点一波小小的赞或者在看~

如有文章对你有帮助,

“在看”和转发是对我最大的支持

关注Python极客专栏

c++进制转换_一文了解进制之间的原理和转换相关推荐

  1. python测试脚本 进制转换_使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)...

    不过,status中包含了一个mid字段,通过mid,我们实际上是可以通过计算得到url的. 在开始计算之前有必要说明一下,什么是base62编码.它实际上就是十进制和62位进制的互换.对于62进制, ...

  2. 总线制和多线制示意图_火灾自动报警系统 总线制与多线制的区别

    火灾自动报警系统中总线制与多线制的区别? 总线制: 对于大系统还是总线制,就是 从报警控制器引出 2 条线 当作总 线,所有的探测器都挂接到此总线上. 总线制是各回路信号均通过总线回到控制中心. 总线 ...

  3. l1300打印机纸进不去_爱普生打印机不进纸该怎么解决?

    使用爱普生的时候,发现打印机不进纸,比如EPSON LQ-80KF/610/615,如果该型号的打印机出现放置纸张不进纸的情况可以通过以下方法来解决问题,下面我们就来看看详细的教程. 1.出现问题情况 ...

  4. Java大象进冰箱线程_把大象装进冰箱:HTTP传输大文件的方法

    上次我们谈到了HTTP报文里的div,知道了HTTP可以传输很多种类的数据,不仅是文本,也能传输图片,音频和视频. 早期互联网上传输的基本上都是只有几k大小的文本和小图片,现在的情况则大有不同.网页里 ...

  5. koa 接口返回数据_一文搞定 Koa 中间件实现原理

    Koa是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小.更富有表现力.更健壮的基石. 通过利用 async 函数, Koa ...

  6. java moment 日期转换_关于日期:如何使用Java 8 DateTime API转换修改后的儒略日数字...

    我有一个数据库,用于存储日期和日期时间(分别为INTEGER和DOUBLE)作为已修改的儒略日数(MJD).修改后的儒略日数是自1858年11月17日午夜UTC以来连续的天数.根据定义,它们始终以UT ...

  7. 天线巴伦制作和原理_一文看懂巴伦(功能原理、性能参数、基本类型)

    原标题:一文看懂巴伦(功能原理.性能参数.基本类型) 巴伦(英语为balun)为一种三端口器件,或者说是一种通过将匹配输入转换为差分输出而实现平衡传输线电路与不平衡传输线电路之间的连接的宽带射频传输线 ...

  8. 如何将CAD转换成PDF文档?教你2招完美转换

    CAD是一款强大的绘图功能软件,一般常用的保存格式是.dwg,但有时我们也会保存为.dxf格式,如果哪一种格式一般非专业人员都很少安装对应的软件而导致文件无法打开,所以我们常常需要将CAD转成PDF使 ...

  9. 继电器rc吸收电路取值_一文读懂继电器的工作原理以及驱动电路

    继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种"自动开关".故在电路中起 ...

最新文章

  1. Android 测量调用方法耗时的方法
  2. linux系统安装nginx步骤,虚拟机(linux)下安装nginx的步骤教程
  3. oracle spatial 数据导入_【转】 Oracle Spatial 基本操作
  4. Matlab如何绘制散点图矩阵,不同版本的散点图矩阵
  5. matlab中bwfill,到底怎么实现,bwfill和imfill
  6. 多线程完成连续打印1-100的数字, 要求一条线程专门打印奇数,另外一条专门用来打印偶数
  7. AI算法的进步超越了摩尔定律!
  8. Qt_共享内存(QSharedMemory)未完成
  9. 【转】网页制作中的CSS+DIV:dl,dt,dd分别表示什么意思啊?请说明啊,谢谢有什么功能?...
  10. 黑马程序员——C语言基础 字符串
  11. springboot 静态资源访问
  12. 如何在Linux启动jar 包
  13. 开源监控软件 Hyperic 的两种插件
  14. 对讲机写频教程以(TCL-HT9为例)
  15. 使用Jacob将Excel转换PDF问题总结
  16. java毕业生设计新生报到管理系统计算机源码+系统+mysql+调试部署+lw
  17. 家用无线路由器选购指南。
  18. java 获取 海康 视频流_海康网络摄像机调用SDK解码Java版
  19. 17. 06-图3 六度空间 数据结构 浙江大学 拼题
  20. 建立dblink(database link)

热门文章

  1. java复制文件夹中的所有文件和文件夹到另一个文件夹中
  2. 第6篇:Flowable-Modeler详述之常见问题Table act_ge_property doesn't exist
  3. python数据结构简单总结
  4. 怎么把html转换成jpg6,html转为图片(六):xhtmlrenderer
  5. 谈谈结构体部分成员排序(重载的利用/sort)
  6. python如何仿写文章_python,python3.x_求助,用python仿写以下代码,python,python3.x,java - phpStudy...
  7. strcpy用于调用的参数太少_C和汇编如何互相调用?嵌入式工程师必须掌握
  8. 前端详细设计文档怎么写_UI设计师简历应该怎么写?
  9. 基于websocket的简单通信
  10. Qt实现界面的窗口的局部动态添加并布局