小森2020 发表于 2020-10-16 21:37:59

关于十进制转换为二进制数

本帖最后由 小森2020 于 2020-10-17 21:15 编辑

def bin2(n):
    yushu=[]#存放余数的集合
    while 1:
      y=n%2   #求余数
      s=n//2#求商
      if s==0:
            break
      yushu.append(y)
      n=s
    yushu.reverse()
    for i in yushu:#余数倒序输出
      print(i,end="")
bin(18)

萌新求问,为啥我这样求不出来啊,就是利用余数的倒序输入,帮忙改正下谢谢

小森2020 发表于 2020-10-16 21:47:36

补充一点,最后一行我搞错了,应该是bin2(18);但是输出的结果是0010,截然错误的答案

小森2020 发表于 2020-10-16 21:51:18

啊 我知道错哪了,应该是def bin2(n):
    yushu=[]#存放余数的集合
    while 1:
      y=n%2   #求余数
      s=n//2#求商
      yushu.append(y)
      if s==0:
            break
      n=s
    yushu.reverse()
    for i in yushu:#余数倒序输出
      print(i,end="")
bin2(18)

小森2020 发表于 2020-10-16 21:52:18

应该先吧余数装入列表,再判断商是否为零

昨非 发表于 2020-10-17 20:53:46

自行解决的帖子建议编辑设为已解决,及时结帖避免一直放在【未解决】板块对大家回答问题造成干扰

小森2020 发表于 2020-10-17 21:15:50

昨非 发表于 2020-10-17 20:53
自行解决的帖子建议编辑设为已解决,及时结帖避免一直放在【未解决】板块对大家回答问题造成干扰

好的
页: [1]
查看完整版本: 关于十进制转换为二进制数