base16.py
#!/usr/bin/env python
#
# Display a number in base 16.
# Author: Yotam Medini [email protected] -- Created: 2006/February/20
#
import sys
def base16(n):
s = "0"
if n > 0:
s = ""
digits = "0123456789abcdef"
while n > 0:
D = n % 16 # Get the right most digit
cD = digits[D] # The character displaying the digit value
s = cD + s # Add it to the left side of s
n /= 16 # like: n = n/16, like dropping D from n
return s
def usage_exit(a0, rc):
sys.stderr.write(
"""
Usage:
%s <number1> [<number2> ... <numberN>]
"""[1:] % a0)
sys.exit(rc)
# Begin program
if len(sys.argv) < 2:
usage_exit(sys.argv[0], 1)
for a in sys.argv[1:]:
n = int(a)
s = base16(n)
sys.stdout.write("%d {base10} = %s {base16}\n" % (n, s))
sys.exit(0)
Generated by GNU enscript 1.6.4.