This snippet explores the change of a hexadecimal (base 16) string to a denary (base 10) integer and the reverse. Interestingly Python allows the representation of the hexadecimal string in two different forms. For instance 255 can be changed to 'FF' (also 'ff') or '0xff'. Any of these hexadecimal strings return the correct value of 255 again.

6,822 Views

Scientist

``````# change a hexadecimal string to decimal number and reverse
# check two different representations of the hexadecimal string
# negative values and zero are accepted
# tested with Python24        vegaseat     11oct2005

def dec2hex(n):
"""return the hexadecimal string representation of integer n"""
return "%X" % n

def hex2dec(s):
"""return the integer value of a hexadecimal string s"""
return int(s, 16)

print "dec2hex(255)  =", dec2hex(255)    # FF
print "hex2dec('FF') =", hex2dec('FF')   # 255

print

print "hex(255) =", hex(255)                # 0xff
print "hex2dec('0xff') =", hex2dec('0xff')  # 255``````
``````a=input("enter number in decimal :")

def cal(a):
if a<10:
b=str(a)
elif a==10:
b="A"
elif a==11:
b="B"
elif a==12:
b="C"
elif a==13:
b="D"
elif a==14:
b="E"
else:
b="F"
return b
b=a
L1=""
while True:
c=b%16
if b<16:
L1=L1+cal(c)
break
else:
L1=L1+cal(c)
b=b/16
c=""
for i in reversed(L1):
c=c+i
print c``````
Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.18 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.