1.各个进制的英文及简写
二进制-->Binary,简写为B,如0b101010
八进制-->Octal,简写为O,如0o777777
十进制-->Decimal,简写为D,如123456
十六进制-->Hexadecimal,简写为H,如0XFFF111
2.Python中进制转化
(1)二/八/十六进制转十进制
a = '0b1010'
b = '0o1234'
c = '0xffff'
注:Python中二/八/十六进制数以str格式保存,故可用string的各种方法进行操作
a1 = int(a,2)
b1 = int(b,8)
c1 = int(c,16)
其实就是int()方法,并告知计算机待读取的是什么进制
(2)十进制转二/八/十六进制
现有
a = 1234
转二进制
a1 = bin(a)
转八进制
a2 = oct(a)
转十六进制
a3 = hex(a)
注:bin(),oct(),hex()都是python内置方法,无需调包
(3)tips
①:对大小写有要求
可以使用
str.upper()
方法将小写字母大写
反之,可以使用
str.lower()
方法将大写字母小写
②:无需前缀(0X,0B)的情况
可以使用
str.strip('0x')
将前缀删除;
或者直接
str[2:] # [2:]表示从第三个字符开始读取
从第三个字符开始读取
2024/3/5补充:
3.十进制数转化成其他的进制数的代码
n, m = map(int, input().split()) # n和m分别为n进制和带转换的原数字(正整数)
def changchu(jz, num):
x1 = num % jz
x2 = (num - x1) / jz
return x1, x2
a = []
temp = m
while temp >= n:
aa, temp = changchu(n, temp)
a.append(int(aa))
a.append(int(temp))
print(''.join([str(i) for i in a]))