# ! /Usr/bin/ENV Python
# -*-Coding: UTF-8 -*-
# 2/10/16 Base trans. Wrote by srcdog on 20th, rjl, 2009
# LD elements in base 2, 10, 16.
Import OS, sys
# global definition
# base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, f]
base = [STR (x) for x in range (10)] + [CHR (X) for x in range (ord ( ' A '), ord ( ' A ') + 6)]
#Bin2dec
#Binary to decimal: int (STR, n = 10)
DefBin2dec (string_num ):
ReturnSTR (INT (string_num, 2 ))
#Hex2dec
#Hexadecimal to decimal
DefHex2dec (string_num ):
ReturnSTR (INT (string_num.upper (), 16 ))
# dec2bin
# decimal to binary: Bin ()
def dec2bin (string_num):
num = int (string_num)
mid = []
while true:
If num = 0: Break
num, rem = divmod (Num, 2)
mid. append (base [REM])
return ''. join ([STR (x) for x in mid [:-1])
# dec2hex
# decimal to octal: Oct ()
# decimal to hexadecimal: Hex ()
def dec2hex (string_num):
num = int (string_num)
mid = []
while true:
If num = 0: Break
num, rem = divmod (Num, 16)
mid. append (base [REM])
Return ''. Join ([STR (X)ForXInMid [:-1])
#Hex2tobin
#Hexadecimal to binary: Bin (INT (STR, 16 ))
DefHex2bin (string_num ):
ReturnDec2bin (hex2dec (string_num.upper ()))
# bin2hex
# binary to hexadecimal: Hex (INT (STR, 2)
def bin2hex (string_num ):
return dec2hex (bin2dec (string_num)