uccjshrimpton

Any Number Base to Any Number Base

Dec 14th, 2016
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.34 KB | None | 0 0
  1. def denToBaseX(denNumber,base):
  2.   """
  3.  Takes in a denary number and converts it to any other base (up to 36)
  4.  Arg1: Denary number
  5.  Arg2: Base to convert to
  6.  """
  7.   baseSymbols = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
  8.   convertedNumber = []
  9.  
  10.   while denNumber > 0:
  11.     div = divmod(denNumber,base)
  12.     convertedNumber.insert(0,baseSymbols[div[1]])
  13.     denNumber = div[0]
  14.  
  15.   return "".join(convertedNumber)
  16.  
  17.  
  18. def baseXToDen(baseXNumber,base):
  19.   """
  20.  Takes a number of any base (up to 36) and converts it to denary
  21.  Arg1: Original number
  22.  Arg2: Original base
  23.  """
  24.   baseSymbols = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
  25.   denaryNumber = 0
  26.   baseXNumber = str(baseXNumber)
  27.  
  28.   for iteration, symbol in enumerate(baseXNumber[::-1]):
  29.     denaryNumber += (baseSymbols.index(symbol)*pow(base,iteration))
  30.  
  31.   return denaryNumber
  32.  
  33. def baseXToBaseX(baseXOne,baseOne,baseTwo):
  34.   """
  35.  Takes a number of any base and converts it to any other base (up to 36)
  36.  Arg1: Original number
  37.  Arg2: Original base
  38.  Arg3: Base to convert to
  39.  """
  40.   return denToBaseX(baseXToDen(baseXOne,baseOne),baseTwo)
Advertisement
Add Comment
Please, Sign In to add comment