苏童 发表于 2015-4-27 09:25:11

Python 十进制转二进制

#!/usr/bin/python

def bin(x):
      result = ''
      x = int(x)
      while x > 0:
                mod = x % 2
                x /= 2
                result = str(mod) + result
      return result

def dec_to_bin(x):
   c,m = list(oct(x)), ['000','001','010','011','100','101','110','111']
   return str(int(''.join( for i in c])))

>>> dec_to_bin(12345)
'11000000111001'
>>> int('11000000111001',2)
12345

>>> bin = lambda n : (n > 0) and (bin(n/2) + str(n%2)) or ''
>>> bin(12345)
'11000000111001'
页: [1]
查看完整版本: Python 十进制转二进制