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

相关推荐

09-16 16:25
门头沟学院 Java
投递长江存储等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
08-20 19:41
那一天的Java_J...:简历完全流水账,学生思维很严重,还有很大的优化空间,可以多看看牛客的简历。
点赞 评论 收藏
分享
09-01 17:26
已编辑
门头沟学院
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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