题解 | #进制转换#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

相关推荐

点赞 评论 收藏
分享
买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
Twilight_mu:经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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