
0的0次方等于多少
-斑鸠养殖
2023年2月15日发(作者:英文电影动画片)Python基础语法系列4-进制
进制转换
在计算机进⾏数据交换时,常常会有⼀个进制转换的过程,我们知道计算机只认0和1.在内存系统中,基本基于⼆进制进⾏运算的,但是有
时候数据过于庞⼤,为了⽅便存储管理,计算机会使⽤⼗六进制存储数据,但是怎么实现数据转换呢?
我们⼈类由⼗根⼿指头,所以⾃然就使⽤⼗进制啦,每当我们数数字到10之后,于是就重0开始继续数,所以逢⼗进⼀就这么来了。对于
其它进制呢,也是同样的,⽐如最常见的⼆进制,也就是逢⼆进⼀,依次类推。
1各种进制介绍
Python中的整数⽀持⼗进制、⼆进制、⼋进制和⼗六进制四种不同的表⽰⽅式,在转换之前,我们先了解以下各种进制
1.1.1⼗进制
基数:0~9(⼀个⼗进制数上的每⼀位都是0到9中的⼀个)
进位:逢10进1
位权:10的幂次⽅,例如:⼗进制数123中的1代表1乘以10的2次⽅,2代表2乘以10的1次⽅,3代表3乘以10的0次⽅
程序中的写法:直接写,例如:100,23,67,1298
1.1.2⼆进制
基数:0和1(⼀个⼆进制数上的每⼀位的值只能是0和1)
进位:逢2进1
位权:2的幂次⽅,例如:⼆进制数110中的第⼀个1代表1乘以2的2次⽅,第⼆个1代表1乘以2的1次⽅,0代表0乘以2的0次⽅
程序中的写法:加前缀0b/0B,例如:0b1101,0B1011
1.1.3⼋进制
基数:0~7(⼀个⼋进制数上的每⼀位都是0~7中的⼀个)
进位:逢8进1
位权:8的幂次⽅,例如:⼋进制数56中的5代表5乘以8的1次⽅,6代表6乘以8的0次⽅
程序中的写法:加前缀0o/0O,例如:0o23,0O172
1.1.4⼗六进制
基数:0f/A~F(⼀个⼗六进制数上的每⼀位是数字0f/A~F)
进位:逢16进1
位权:16的幂次⽅,例如:⼗六进制数a1中的a代表10乘以16的1次⽅,6代表6乘以16的0次⽅
程序中的写法:加前缀0x/0X,例如:0xa6,0x12f
2进制之间的转换
Python提供了三个函数⽤于进制的转换,分别是bin()、oct()、hex()⽤于⼆进制、⼋进制和⼗六进制的转换,其⽤法如下:
9,a9或者字母a
1.转⼗进制
#1.其他进制转⼗进制:使⽤print函数打印其他进制的数,打印结果就是⼗进制
print(0b11011)#查看⼆进制数11011对应的⼗进制
print(0o56)#查看⼋进制数56对应的⼗进制
print(0x1fa)#查看⼗六进制数1fa的⼗进制
结果:
27
46
506
2.转⼆进制
#2.其他进制转⼆进制:获取函数bin()的结果
print(bin(100))#查看⼗进制数100对应的⼆进制
print(bin(0o56))#查看⼋进制数56对应的⼆进制
print(bin(0x1fa))#查看⼗六进制数1fa对应的⼆进制
结果:
0b1100100
0b101110
0b111111010
3.转⼋进制
print(oct(100))#查看⼗进制数100对应的⼋进制
print(oct(0b11011))#查看⼆进制数11011对应的⼋进制
print(oct(0x1fa))#查看⼗六进制数1fa对应的⼋进制
结果:
0o144
0o33
0o772
4.转⼗六进制
print(hex(100))#查看⼗进制数100对应的⼗六进制
print(hex(0b11011))#查看⼆进制数11011对应的⼗六进制
print(hex(0o56))#查看⼋进制数56对应的⼗六进制
结果:
0x64
0x1b
0x2e
不同的进制只是数字的不同的表⽰⽅式,使⽤的时候并⽆区别,在程序中,⼗进制数能做的,其他进制都可以,⽰例如下:
print(10+20)
print(0b1010+0b10100)
print(0o12+0o24)
print(0xa+0x14)
结果:
30
30
30
30