Philippe Martin <[EMAIL PROTECTED]> writes: > I'm using python to prototype the algo: this will move to C in an embedded > system where an int has 16 bits - I do not wish to use any python library. > > l1 = [1,2,3,4,6,7,8] #represents the decimal number 12345678
This is untested, but should give you the idea: First, convert that list to a decimal digit string: s = ''.join(map(str, l1)) Then convert the string to an integer: n = int(s) # base 10 is the default Then convert the integer to a hex digit string: h = '%X' % n Finally, convert the hex digit string to a list of integer values of the individual digits: vlist = [int(d, 16) for d in h] This is the list you want. If you prefer, You can do it all in one line: vlist = [int(d, 16) for d in ('%X' % int(''.join(map(str, l1))))] -- http://mail.python.org/mailman/listinfo/python-list