Python学习笔记17_进制表示及转换
1、进制表示
- Python 中默认是十进制,二进制、八进制、十六进制在 Python 中的表示:
a = 0b10101
b = 0o157
c = 34
d = 0x15af
2、进制转换
2.1、十进制转二进制
- 整数部分,除基取余,逆序排列;小数部分,乘基取整,顺序排列
2.2、二进制转十进制
1101.01
(
2
)
=
1
×
2
0
+
0
×
2
1
+
1
×
2
2
+
1
×
2
3
+
0
×
2
?
1
+
1
×
2
?
2
=
13.25
(
10
)
1101.01(2)=1 \times 2 ^0+0 \times 2^1+1 \times 2 ^2+1 \times 2 ^3+0 \times 2 ^{-1}+1 \times 2 ^{-2}=13.25(10)
1101.01(2)=1×20+0×21+1×22+1×23+0×2?1+1×2?2=13.25(10)
a
b
c
d
.
e
f
g
=
d
×
2
0
+
c
×
2
1
+
b
×
2
2
+
a
×
2
3
+
e
×
2
?
1
+
f
×
2
?
2
+
g
×
2
?
3
abcd.efg=d \times 2^0+c \times 2^1+b \times 2^2+a \times 2^3+e \times 2^{-1}+f \times 2^{-2}+g \times 2^{-3}
abcd.efg=d×20+c×21+b×22+a×23+e×2?1+f×2?2+g×2?3
2.3、二进制转八进制
- 二进制的小数点为分界点,向左(向右)每三位分成一组,接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。
- 如果向左(向右)取三位后,取到最高(最低)位时候,如果无法凑足三位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足三位。
2.4、二进制转十六进制
- 二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。
- 如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。
2.5、使用内置函数进行进制转换
a = 12
print(bin(a))
print(oct(a))
print(hex(12))
|