除了常用的十进制表示法,Python 也支持二进制、八进制和十六进制表示法。这些只是表示方法不同,但是它们表示的含义是一样的,如二进制中的 11 和十进制数中的 3 是一样的。

  1. Python 二进制表示法
    如十进制中的 100 用二进制表示就是 1100100,那么 100 就可以用 0b1100100 来表示。

a = 0b1100100 # 二进制1100100
a # 查看其值,默认用十进制表示
100 # 对应到十进制就是100

用 0B 也可以表示二进制数,效果和 0b 是一样的,如十进制的 100 也可以用 0B1100100 来表示。

a = 0B1100100
a
100

另外一个问题就是,如果知道了某个数的值,如何知道其二进制的表示法?Python 提供了一个函数 bin(),该函数输入是整数,输出是用二进制表示的字符串。如 bin(100) 就输出字符串 ‘0b1100100’。#价位@762459510 免费领取python、爬虫配套实操资料#

a = bin(100) # 得到十进制数100的二进制表示法
a # 查看二进制表示法的值
‘0b1100100’

type(a) # 注意返回值是一个字符串
<type ‘str’>

b = bin(3) # 得到十进制数3的二进制表示法
b
‘0b11’

如果得到的是字符串,表示一个二进制数,如何将其转换成整数对象呢?可以使用函数 eval()。eval() 输入是字符串,返回值是一个整数对象。

a = eval(‘0b1100100’) # 输入是字符串
type(a) # 返回值类型是整型
<type ‘int’>

a # 返回值的内容
100

还有一个可以使用的函数就是 int(),其实际上是整型的构造函数。该构造函数可以从字符串对象构造出整型对象,而且在构造时指定进制。和函数 eval() 不同,字符串不能以 0b 开头,并且要指定进制。

还是以 100 为例,输入是字符串 ‘1100100’ 而不是 ‘0b 1100100’。并且带上进制参数 2,所以就可以用 int(‘1100100’,2) 来构造值为二进制 1100100 的整数对象。

a = int(“1100100”, 2) # 按照二进制的方式解析字符串"1100100",
type(a) # 返回值的类型是整型
<type ‘int’>

a # 返回值的内容是100
100

int() 还可以指定第二个参数为 0,这时第一个参数就可以带上 0b。int() 看到第二个参数为 0,就会从第一个参数的 0b 上猜出应该按照二进制来解析输入的字符串。

a = int(“0b1101”, 0) # 第二个参数为0,第一个参数带有0b,所以按照二进制解析
type(a) # 返回值类型是整数
<type ‘int’>

a # 返回值的值为十进制的13
13

  1. Python 八进制表示法
    类似于二进制表示法,在数字之前加上 0 用来表示其为八进制数。

a = 012 # 八进制数12,等同于10进制的10
type(a)
<type ‘int’>

a # 查看a的值,默认是用十进制表示的
10

同样的问题,如何将一个整数转换成八进制的字符串?系统提供的函数是 oct(),其输入是整数对象,输出是一个字符串,该字符串也是以 0 开头。如数 oct(10) 就输出 ‘012’。

out_str = oct(10) # 转换成字符串类型,按照八进制的格式转换
type(out_str) # 返回值的类型是字符串
<type ‘str’>

out_str # 查看返回值的内容
‘012’

out_str = oct(100) # 对100进行八进制转换
out_str # 查看转换结果
‘0144’

如何从用八进制表示的字符串构造出整数对象呢?前面介绍的 eval() 和 int() 方法依然有效。使用 eval() 时需要输入字符串以 0 开头,这样 eval() 就知道输入的数是八进制表示的。

a = eval(‘012’) # 将字符串转换成整数,八进制格式表示的字符串
type(a) # 查看返回值的类型
<type ‘int’>

a # 查看返回值的内容
10

a = eval(‘0144’) # 将八进制字符串144转换成整数
a # 查看返回值的内容
100

使用 int() 来将字符串转换成整数,需要将第二个参数设定为 8,表示用八进制来解释该字符串,并且输入字符串不必以 0 开头。但是以 0 开头也不会有问题,因为 0 会被忽略掉,如 02 和 2 表示的意思是一样的。

a = int(‘144’, 8) # 八进制数144,没有以0开头
type(a) # 输出的类型是整数
<type ‘int’>

a # 查看a的值,十进制表示为100
100

a = int(‘0144’, 8) # 0144等效于144
a # 但是0b11不等效于11
100

a = int(‘12’, 8) # 八进制数12
a
10

和二进制表示法一样,如果第二个参数为 0,并且第一个参数以 0 开头,那么 int() 将试图按照八进制来解析输入的第二个参数。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~例如:

a = int(“0144”, 0) # 第二个参数为0,那么从第一个参数猜出进制
type(a) # 由于第一参数以0开头,所以应该是八进制表示
<type ‘int’> # 返回值类型是整型

a # 返回值是100,即八进制的144对应十进制的100
100

  1. Python 十六进制表示法
    十六进制表示法在数字前面加上 0x 或者 0X 来表示,除了用数字 0、1、…、9 这 10 个字符外,还引入了 a、b、c、d、e、f 这 6 个字符,分别表示 10、11、12、13、14 和 15。如十进制中的 15 用十六进制来表示就是 0xF 或者 0Xf。

需要注意的是,a、b、c、d、e、f 也可以用 A、B、C、D、E、F 来表示。

a = 0xf # 0x开头表示是十六进制数
a
15

a = 0XF # 0X开头表示是十六进制数
a
15

a = 0Xf
a
15

如果希望将整数转换成十六进制的字符串,可以使用函数 hex()。该函数输入是一个整型对象,输出是字符串。该输出字符串表示用十六进制表示该输入整数的格式。

a = hex(9) # 转换成十六进制表示的字符串
type(a) # 返回的是字符串
<type ‘str’> # 查看返回值的内容

a
‘0x9’

b = hex(16) # 将十进制的16转换成十六进制表示的字符串
b
‘0x10’ # 转换后的结果

如果希望做 hex() 的逆操作,可以使用 eval()。

a = 100
b = eval(hex(a)) # 先用hex()转换成十六进制表示的字符串
type(b) # 然后用eval()将字符串转换成整型对象
<type ‘int’> # 返回值的类型是整型

b # 经过两轮互逆的运算后还是得到最初的值100
100

如果输入的字符串不带开头的 0x 或者 0X,那么可以用 int() 来构造一个等值的整型对象。例如,还和前面一样,第二个参数为 16。

a = int(‘64’, 16) # 输入是十六进制表示的64
type(a) # 返回值是一个整型对象
<type ‘int’>

a # 值为100,对应十六进制中的64
100

和前面的二进制、八进制一样,如果第二个参数为 0,第一个参数以 0x 开头,那么 int() 会将第二个参数当作十六进制来解释。例如:

a = int(“0x64”, 0) # 第二个参数为0,所以从第一个参数猜出进制
type(a) # 第一个参数开头是0x,所以按照十六进制解析
<type ‘int’>

a # 解析结果是十进制的100
100

另外,int() 函数不仅可以用于转换二进制数、八进制数和十六进制数,也可以用于转换任意进制的数。对于 16,其用 F 后面的 G 来表示,17 用 H 来表示,其他值的表示法以此类推。下面的例子演示了 17 进制数的使用。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

int(‘F’, 17) # F表示15
15

int(‘G’, 17) # G表示16
16

Python二进制、八进制、十六进制数字的表示和转换相关推荐

  1. 十进制转二进制 / 八进制 / 十六进制的手算方法,及其数学原理的通俗解释

    前言:接触计算机的同学学习基础课程时,不免会碰到十进制转二进制 / 八进制 / 十六进制这种问题.常见的方法有"除以2/8/16看余数".本文在介绍方法的前提上,对其数学原理进行了 ...

  2. 十进制转换成十六进制c语言 链栈,C语言 链栈 实现十进制转换二进制,八进制,十六进制...

    C语言 链栈 实现十进制转换二进制,八进制,十六进制 (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 最后运行结果:代码:#incl ...

  3. java怎么打印进制,java编程思维_007打印二进制,八进制,十六进制

    java编程思想_007打印二进制,八进制,十六进制 package wzs.test2; //打印二进制,八进制,十六进制 public class Test { public static voi ...

  4. c语言十进制转换成二进制八进制十六进制,十进制数转换成二进制,八进制,十六进制(c语言)...

    利用一个函数实现十进制数转换成二进制,八进制,十六进制.利用的是栈的后进先出的思想.算法简单. #include #include #include #define STACK_INIT_SIZE 1 ...

  5. python整数类型进制表示_Python二进制、八进制、十六进制数字的表示和转换

    除了常用的十进制表示法,Python 也支持二进制.八进制和十六进制表示法.这些只是表示方法不同,但是它们表示的含义是一样的,如二进制中的 11 和十进制数中的 3 是一样的. 1. Python 二 ...

  6. python中二进制转8进制_Pythoner:教你二进制八进制十六进制的快速转化

    Hi,你的 Python 学的怎么样了?要记得每天进步一点点哦,跟小帅b做个约定,再过不久我们一起来项目实战,所以现在咱们少看点片,没事敲下键盘,练练 Python 吧. 要是哪一天,我能爬取所有苍井 ...

  7. php八进制十六进制,php 实现进制转换(二进制、八进制、十六进制)互相转换实现代码...

    十进制转换为二进制.八进制.十六进制 从十进制向其它进制转换,用的是就用该数字不断除以要转换的进制数,读取余数.连接一起就可以了. 复制代码代码如下: /** *十进制转二进制.八进制.十六进制不足位 ...

  8. c语言中十进制转化二进制八进制十六进制,进制转换:二进制、八进制、十六进制、十进制之间的转换...

    对于基础薄弱的读者,本节的内容可能略显晦涩和枯燥,如果觉得吃力,可以暂时跳过,用到的时候再来阅读.但是本节所讲的内容是学习编程的基础,是程序员的基本功,即使现在不学,迟早也要回来学. 上节我们对二进制 ...

  9. python二进制转十进制算法_python进制转换:十进制转二进制的用法

    我们在学习python时候肯定会碰到关于进制转换,其实这是非常简单的,这个就像小学学习数学乘法口诀意义,只要记住转换口诀即可轻松应用,一起来看下具体的操作内容吧~ 一.python进制转换 dec(十 ...

最新文章

  1. 重磅 | 周志华最新论文:首个基于决策树集成的自动编码器,表现优于DNN
  2. vsftpd服务与客户机的传输和下载
  3. getResourceAsStream总是返回null以及intellij总是提示Argument ‘inputStream‘ might be null
  4. .NET 大会今日开幕 |这些白嫖福利不看肠子都悔青
  5. 使用C#体验函数式编程之——Partial application(局部应用)
  6. 算法(Algorithms)第4版 练习 2.1.24
  7. 化学人学python有前途吗-从化学实验室到数据分析师,月薪翻倍后的转行经验总结!...
  8. [大牛翻译系列]Hadoop(7)MapReduce:抽样(Sampling)
  9. python运行系统_python执行系统命令的方法
  10. Aspose.word保存PDF时进行授权访问设置
  11. CSS 动画 animation
  12. 【English】【托业】【四六级】写译高频词汇
  13. Weights Biases (一)
  14. VS2019 配色_庆祝湖人夺冠!詹姆斯支线球鞋Witness 5 湖人配色发售
  15. 500以内的蓝牙降噪耳机哪款好?高性价比降噪蓝牙耳机分享
  16. c++编写手机小游戏代码_C++代码实现贪吃蛇小游戏
  17. 信号明确简单 顶底指标公式 通达信 副图 源码
  18. c语言中入口参数是什么,C语言中入口参数是什么
  19. codeforce A. Bank Robbery
  20. 关于iTunes11.1 不能刷自制固件的解决方案

热门文章

  1. 【NAS群晖drive异地访问】远程连接drive挂载电脑硬盘
  2. 孙强:IT治理需六方结合
  3. 想让 ChatGPT 帮忙进行数据分析?你还需要做......
  4. shell脚本获取函数返回值
  5. 二维图像haar小波变换的分解与重构
  6. Mask R-CNN论文解析
  7. 黑马vivo的逆袭之路
  8. static的在函数中作用
  9. 没有防毒软件的iOS,还安全么?
  10. TCP头部信息与UDP头部信息