python day0心得
进制转换
python 默认为10进制,
进制 | 表达 |
---|---|
二进制 | 0b |
八进制 | 0o |
十进制 | 0d |
十六进制 | 0x |
二进制转换成八进制
三位转一位,从右到左取.高位不够补0.
例如0b1000011
0o103
oct(number)将number转为8进制
print(oct(0b1000011))–0o103
print("{0:o}".format(0b1000011))–103
二进制转为十进制
从0开始右往左数位数诚意2的位数次方最后相加
0b1000011
0d67
int(number)将number转为10进制
print(int(0b1000011))–671
print("{0:d}".format(0b1000011))–67
发现10进制没有出现0d的标志
二进制转为十六进制
四位转一位,从右往左取,高位不够补0
0b1000011
0x43
hex(number)将number转为16进制
print(hex(0b1000011))–0x43
print("{0:x}".format(0b1000011))–43
其他进制转为2进制
0x43(16进制)
一位转四位高位数不够补0
67(10进制)
倒除法
67除以2,以最后的商小于2结束.余数从右到左排列,
0o103
一位转三位,高位不够补0.
0b1000011
bin(number)将number转为2进制
print(bin(0x43))–0b1000011
print(bin(67))–0b1000011
print(bin(0o103))–0b1000011
print("{0:b}".format(0x43))–1000011
print("{0:b}".format(67))–1000011
print("{0:b}".format(0o103))–1000011
发现用.format结果不会显示属于何种进制.
{要转成的进制,且要用:隔开}.format(何种进制的数)
推荐使用{}.format()函数转换. ↩︎