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)
运行结果:
101
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,余数从后往前即为所求