代码改变世界

python 代码实现 十进制 转 二进制

2017-05-24 17:21  ndzj  阅读(2638)  评论(0编辑  收藏  举报

#!/usr/bin/python
#_*_ coding:utf-8 _*_

ad = int(raw_input('请输入数值:'))
cs = 0
binary = []
while True:
   cs += 1
 #  for n in range(int(numf)-1): # 0,1,2
   if cs == 1:
      zs = 2 * 2
      binary.append(zs)
   elif int(ad) < int(binary[-1]):
#      print(binary)
      break
   elif cs != 1:
      zs = int(binary[-1]) * 2
      binary.append(zs)
#反向列表
a1 = [binary[len(binary)-i-1] for i in range(len(binary))]
#列表追加0,1,2
for n in reversed(range(3)):
   a1.append(n)


jg = []
zz = ad
for i in range(len(a1)):
    numb = int(a1[i])
    if ad == numb:
        jg.append('1')
        jg.append((len(a1)-i-1)*'0')
        break

    elif ad > numb:
        ad = ad - numb
        jg.append('1')
    else:
        jg.append('0')
zzz = ''.join(jg)
print(str(zz)+' 二进制是:'+zzz[1:-1])

 

## 注 Python 有函数可以 直接转换 print(bin(10))