题解 | #进制转换#python

进制转换

https://www.nowcoder.com/practice/ac61207721a34b74b06597fe6eb67c52

m, n = map(int, input().split())
res = []
a = [0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F'] # 十六进制
if m == 0:
    print(0)    
else:
    if m < 0:
        print("-",end ='') # 考虑负数
        m = -m
    while True:
        s =  m // n # 商
        y = m % n # 余数
        res = [y] + res
        if s == 0:
            break
        m = s
    for i in res:
        print(a[i],end='')

全部评论
为什么负数就直接最后计算绝对值进制转换,然后最后添加一个负号,正常的不是取负数的补码然后再进制转换吗
1 回复 分享
发布于 2022-08-16 10:59

相关推荐

10-15 15:00
潍坊学院 golang
跨考小白:这又不是官方
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
我即大橘:耐泡王
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务