mathjax

Thursday, April 24, 2014

converting between decimal and binary

Two functions for number conversion.
#! /usr/bin/env python

def decimal_to_binary(decimal_num):
 i, b = 1, 0
 while decimal_num > 0:
  mod = decimal_num % 2
  b += (i * mod)
  decimal_num /= 2
  i *= 10
 return b

def binary_to_decimal(binary_num):
 i, d = 0, 0
 while binary_num > 0:
  mod = binary_num % 10
  d += (mod * 2**i)
  binary_num /= 10
  i += 1
 return d

if __name__ == '__main__':
 originals = range(10)
 binaries = [decimal_to_binary(d) for d in originals]
 decimals = [binary_to_decimal(b) for b in binaries]
 assert originals == decimals
 print 'originals:', originals
 print 'binaries:', binaries
 print 'decimals:', decimals
Sample output below.

No comments:

Post a Comment