文章目录

  • 前言
  • 一、Python提供的进制转换方法
    • 1.二进制转十进制
    • 2.八进制转十进制
    • 3.十六进制转十进制
    • 4.十进制转十六进制
    • 5.十进制转二进制
    • 6.十进制转八进制
  • 二、自定义进制转换
    • 1.转十进制
    • 2.十进制转七进制
  • 总结

前言

十进制是我们常用的数字形式,但机器使用的却是二进制,八进制,十六进制之类的,所以进制转换是基础要求,很多编程语言提供的有进制转换的方法,下面我们开始学习


一、Python提供的进制转换方法

1.二进制转十进制

s = '1001'
print(int(s,2))

结果如下:

int函数,第一个参数是一个字符串,第二个参数是字符串的进制,如上代码,我的s是二进制数据,它就会自动计算二进制的十进制的值

2.八进制转十进制

s = '1001'
print(int(s,8))

其实还是利用int函数,可以看见,相同的s,进制不同结果也不同

3.十六进制转十进制

方法和上面一样,在此就不再赘述了

4.十进制转十六进制

print(hex(1033))

在此调用的是hex函数,传入一个十进制数字,会自动转换为十六进制,结果如下:

0x是十六进制的标志,不要理解错了

5.十进制转二进制

print(bin(10))

调用bin函数,其用法和hex函数类似,0b也是二进制的标志

6.十进制转八进制

print(oct(100))

调用oct函数,oct可以将任何进制的数变成八进制,oct可以将任何进制的数变成八进制,oct可以将任何进制的数变成八进制,重要的事情说三遍,0o是八进制的标志


如果是二进制转十六进制,可以先转十进制再转十六进制,其它的也是类似的

二、自定义进制转换

1.转十进制

只要转十进制,就很简单,方法都是一样的,所以我们自定义十六进制转十进制来进行演示

s= 409
num = 0
s= list(reversed(str(s)))
for i in range(len(s)):num += int(s[i])*(16**i)
print(num)

在此,我们传入一个十六进制的数字409,将其转换为十进制,代码如上,结果如下:

2.十进制转七进制

看到标题是不是愣住了?哪里来的七进制,没错,没有七进制,是我特意演示的,无论转为几进制,都是殊途同归,关键的是方法

num = -7
# 记录余数
s = ""
# 先判断是否为0,如果为0,直接输出0
if num == 0:print(0)
# 判断正负性,如果为正数,不记录,如果为负数,记录为负号
elif num > 0:a = ''
else:a = '-'# 当num为0时,循环结束
while abs(num):# 倒叙记录余数,注意,是倒叙记录# num板砖除进制数s, num = str(abs(num) % 7) + s, abs(num) // 7
# 先将符号位和余数进行合并,在转换为int类型
print(int(a+s))

将十进制的-7转换为七进制,就是-10了,关键代码是while循环


总结

编程语言为我们提供了进制转换方法,但授之以鱼不如授之以渔,我们要明白进制转换是如果运算的,明白底层的算法

python 进制转换相关推荐

  1. python进制转换简述

    python进制转换可以参考十进制理解,逢十进一 同理二进制就是逢二进一,八进制逢八进一,十六进制逢十六进一,这里要注意,十六进制由0-9,和a,b,c,d,e,f组成,a-f分别代表10-15 1. ...

  2. Python进制转换10进制转换为16进制,不使用hex函数

    笔试中遇到的问题 Python进制转换10进制转换为16进制,不使用hex函数 给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字 ...

  3. 小白兔入手:Python进制转换问题(二进制、八进制、十进制、十六进制)

    巩固完C语言和C++的相关算法后,开始学习这个号称简洁.功能强大.无所不能的Python语言,真是稀奇啊!! 这次来总结一下关于进制问题在Python中如何实现的,以及为什么当我就输入input函数时 ...

  4. python 进制转换 递归_python--使用递归优雅实现列表相加和进制转换

    咦,好像坚持了一段时间,感觉又有新收获啦. # coding: utf-8 class Stack: def __init__(self): self.items = [] # 是否为空 def is ...

  5. python进制转换函数及方法

    python进制转换函数 一.通过int函数实现其他进制转十进制 假设 M 为某已知进制字符串 n 的进制数 result = int(n,M) --------------------------- ...

  6. Python进制转换后去掉“0b“,“0x“,“0o“

    Python在进制转换之后会带上"0b"."0x"."0o"的进制转换符,而在具体使用过程中,很多时候我们又并不希望输出的结果带上进制前缀, ...

  7. python进制转换大全

    二进制bin() : 描述:将其它进制的数转换为二进制的数.如八进制,十进制,十六进制等. 语法:bin(number)  返回一个二进制数. number -- 其它进制的数 八进制oct(): 描 ...

  8. python进制转换函数-Python中进制转换函数的使用

    Python中进制转换函数的使用 关于Python中几个进制转换的函数使用方法,做一个简单的使用方法的介绍,我们常用的进制转换函数常用的就是int()(其他进制转换到十进制).bin()(十进制转换到 ...

  9. Python进制转换的完全实现——2/10/16进制原/补码互转

    一.需要转换的几种情况 不带符号位的整数 2进制 10进制 16进制 2进制 – bin2dec() bin2hex() 10进制 dec2bin() – dec2hex() 16进制 hex2bin ...

  10. python的进制转换器,Python进制转换

    进制转换: 进制转换是人们利用符号来计数的方法. 进制转换由一组数码符号和两个基本因素"基数"与"位权"构成. 基数是指,进位计数制中所采用的数码(数制中用来表 ...

最新文章

  1. 图像处理、语音处理的应用及前沿技术_华北工控:工业平板电脑在智慧医院中的广泛应用...
  2. python官网下载哪个版本-python下载哪个版本好
  3. 【小程序开发者专享】腾讯云联手多家科技企业,聚焦小程序·云开发实践!...
  4. css中的单位换算_CSS单位px、em、rem及它们之间的换算关系
  5. Building Fire Stations
  6. JSP中嵌入java代码方式以及指令
  7. selenium自动化测试-1.selenium介绍及环境安装
  8. java.lang.UnsatisfiedLinkError: D:\Tomcat\apache-tomcat-7.0.67\bin\tcnative-1.dll:
  9. 重返商用计算市场,紫光计算机要做数字化转型生意
  10. Sixpack —— 支持多语言的 A/B 测试框架
  11. 每周荐书:微服务、SQL调优、机器学习(评论送书)
  12. 关于chrome上的网银安全控件开发技术(chrome 调用本地dll)
  13. 数据科学 | Numpy入门教程
  14. linux系统可以在移动硬盘,如何在移动硬盘上装LINUX系统?
  15. 注意力机制论文:CCNet: Criss-Cross Attention for Semantic Segmentation及其PyTorch实现
  16. GhostScript 沙箱绕过(命令执行)漏洞 CVE-2019-6116 漏洞复现
  17. 阿里巴巴校招内推一面总结
  18. Error: illegal invocation in <execute> or <revert> phase (action: element.updateProperties或Laber)
  19. 保证RabbitMQ消息的可靠性总结
  20. ISAM error: no free disk space故障分析处理

热门文章

  1. 2012 苹果第三代iPad3(NewPAD)发布会图文实录
  2. 天涯宝盒-天涯看贴脚本-只看楼主-自动翻页
  3. 传承百年经典的瑞吉管家静待您的优雅旅程再次开启
  4. 同义词词林或哈工大词林扩展的词类.
  5. linux3d游戏,笔记本linux系统能玩3d游戏吗?
  6. android xml 工具下载,安卓xml文件编辑器
  7. cruzer php sandisk 闪迪u盘量产工具_sandisk量产工具(闪迪U盘量产工具) 1.4
  8. matlab信号如何加白噪声,matlab给信号加白噪声
  9. java 根据ftl文件生成word
  10. 利用Scrapy爬取豆瓣电影