题解 | #进制转换#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-14 12:20
门头沟学院 Java
迷茫的大四🐶:摊牌了,我是25届的,你们也不招我
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务