数据在计算机中的存储,存的都是二进制数
1.认识十进制、二进制、八进制、十六进制
1.十进制
基数:0,1,2,3,4,5,6,7,8,9
特点:逢10进1 10 ---> 10
12345 = 5+40+300+2000+10000
= 51 + 410 + 3100 + 21000+110000
= 5(10^0) + 4(10^1)+3(102)+2*(103)+1*(10^4)
2.二进制
基数:0,1
特点:逢2进1 10 ---> 2
101011 = 1(2^0)+1(21)+0*(22)+1(2^3)+0(24)+1*(25)
= 1 + 2 + 8 + 32
= 43
3.八进制
基数:0,1,2,3,4,5,6,7
特点:逢8进1 12 ---> 10
24 = 4(8^0) + 2(8^1) = 20
4.十六进制
基数:0-9,a-f(A-F) -- a=10,b=11,c=12,d=13,e=14,f=15
特点:逢16进1 a ---> 10
2f = 47
进制间的转换:
十进制转换成其他进制:整除取余法(下到上所有余数)
八进制转二进制:一位八进制转换成三位二进制 --> 23 = 010 011
十六进制转二进制:一位十六进制抓换成四位的二进制 --> 2f = 0010 1111
2.python中的二进制、八进制和十六进制
python默认的数字都是10进制
a.二进制
基数是0,1,并且数字前加前缀0b表示二进制
0b1101
0b1234# 报错 SyntaxError
bin(整数) -> 将其他进制的整数转换成二进制数
print(bin(10))
print(bin(0x10))
b.八进制
基数是0-7,并且数字前加0o或者0O表示八进制
0o176
0O123
oct(整数) -> 将其他进制的整数转换成八进制
print(oct(10))
c.十六进制
基数0-9,a-f(A-F),并且数字前加0x或者0X表示十六进制
0x1a
0X2af
hex(整数) -> 将其他进制的整数转换成十六进制
print(hex(10))