python的整数数字可以用二、八、十六不同进制表示,它们可以和十进制相互转换。python的数字可以进行位操作。
1.1 python二八十六进制整数
python整数默认用十进制表示,也可以用二进制、八进制、十六进制表示整数。
python二进制(binary)整数以0b或0B开头。
python八进制(Octal)整数以0o或0O开头。
python十六进制(Hex)整数以0x或0X开头。
1.1.1 不同进制内置函数
python不同进制整数的内置函数分为两类。
一类将十进制整数转换为不同进制。
一类将不同进制整数转换为十进制。
序号 | 内置函数 | 描述 |
---|---|---|
1 | bin() | 将十进制整数转为二进制 |
2 | oct() | 将十进制整数转为八进制 |
3 | hex() | 将十进制整数转为十六进制 |
4 | int(str,base) | 将不同进制整数字符串转为十进制 |
示例
>>> bin(95),oct(95),hex(95)
('0b1011111', '0o137', '0x5f')
>>> int('95'),int('0b1011111',2),int('0o137',8),int('0x5f',16)
(95, 95, 95, 95)
1.1.2 eval()转十进制整数
python的eval()函数可以将字符串作为代码执行。速度慢,且存在安全问题。
可以通过eval()达到int()函数的效果,将不同进制整数字符串转为十进制。
示例
>>> eval('95'),eval('0b1011111'),eval('0o137'),eval('0x5f')
(95, 95, 95, 95)
1.1.3 %和format()转不同进制整数
python的字符串格式化表达式%和格式化方法format也可以将十进制整数转为不同进制。
示例
>>> '%o,%x' % (95,95)
'137,5f'
>>> '{0:b},{1:o},{2:x}'.format(95,95,95)
'1011111,137,5f'
1.2 python数字位操作
python数字把整数当做二进制进行位操作,比如左移、右移、或、与等。
python二进制位操作 | ||
---|---|---|
序号 | 位操作 | 描述 |
1 | x<>n | 右移n位,表示缩小2的n次方方倍 |
3 | x | n |
4 | x&n | 位与,全1位1,否则为0 |
注意 :相同整数进行与、或,结果不变,为原值。
示例
>>> x = 2
>>> x << 3
16
>>> y = 16
>>> y >> 3
2
>>> x | 2
2
>>> x | 1
3
>>> x & 2
2
>>> x & 1
0
>>> x = 2
>>> bin(x)
'0b10'
>>> bin(x << 3)
'0b10000'
>>> int('0b10000',2)
16
>>> bin(x)
'0b10'
>>> bin(1)
'0b1'
>>> bin(x|1)
'0b11'
>>> int('0b11',2)
3
更多内容参考python学习笔记或软件测试开发目录。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
发布评论请先 登录
相关推荐
十六进制和八进制转换原理
,可以得到十六进制数的一般表达式:例:十六进制转换为十进制: (4E6)H= 4×162+14×161+6×160 = 4×256+14×16+6×1=(1254)D例:二
发表于 04-06 23:54
LabVIEW中如何实现十六进制和ASCII之间的转换
实现将这个十六进制表示转换为其对应的ASCII表示?如果需要以十六进制等价的形式向仪器发送命令,该如何实现?解答: 将十六进制转换为ASCI
发表于 10-20 11:20
labview教程:十六进制和ASCII之间的相互转换转
表示转换为其对应的ASCII表示实现通信。将十六进制转换为ASCII:. 为了将一个十六进制的字符串转化为ASCII字符串,您必须首先使用扫描值函数将
发表于 01-05 11:21
十六进制编辑器
关键词TKStudio,HexEditor,十六进制,编辑器摘 要十六进制编辑器HexEditor是TKStudio附带的辅助工具,用来显示或编辑十六进制文件。
发表于 11-10 13:31
•47次下载
ASCII码转换成十六进制数
ASCII码转换成十六进制数
入口条件:待转换的ASCII码(30H~39H或41H~46H)在A中。出口信息:转换后的十六进制数(00H
发表于 01-19 22:48
•1.4w次阅读
单字节BCD码小数转换成单字节十六进制小数
单字节BCD码小数转换成单字节十六进制小数
入口条件:待转换的单字节BCD码数在累加器A中。出口信息:转换后的单字节十六进制小
发表于 01-19 22:50
•1681次阅读
如何进行ASCII码和十六进制数的转换
本文档的主要内容详细介绍的是如何使用51单片机进行ASCII码和十六进制数的转换资料免费下载题目:用查表法将一位十六进制数转换为ASCII码,入口参数放在内部RAM 50H中,出口参数
发表于 07-08 17:41
•7次下载
评论