Python 进制转换的一些问题

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]))

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值