首页 新闻 会员 周边 捐助

进制转换问题

0
悬赏园豆:5 [待解决问题]

def f(n,x):
#n为待转换的十进制数,X为机制,
a=[0,1,2,3,4,5,6,7,8,9,'A','B','C','E','F']
b=[]
while 1:
s=n//x#商这里不懂
y=n%x#余数这里余是一
b=b+[y]#这里进去不就是1吗

    if s==0:
        break
    n=s
    b.reverse()
    for i in b:
        print(a[i],end='')

while 循环里不懂:求解它是如何运算的

f(5,2)

n=input("输入要转化的数")

x=input("转换几进制数")

运行结果:
101

20152019的主页 20152019 | 初学一级 | 园豆:199
提问于:2019-06-14 23:08
< >
分享
所有回答(1)
0

5除以2,商2余1
2除以2,商1余0
1除以2,商0余1
-----------------------------------------------
所以:5转2进制数为:101(顺序为:从下到上)
商不为0时,拿商除以进制,直到商为0

10除以2,商5余0
5除以2,商2余1
2除以2,商1余0
1除以2,商0余1
-----------------------------------------------
所以:10转2进制数为:1010(顺序为:从下到上)
商不为0时,拿商除以进制,直到商为0,余数从后往前即为所求

大志若愚 | 园豆:2138 (老鸟四级) | 2019-06-15 17:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册