BCD List to HEX List

Philippe Martin pmartin at snakecard.com
Sun Jul 30 17:11:32 EDT 2006


Marc 'BlackJack' Rintsch wrote:

> In <5S8zg.1553$W93.658 at dukeread05>, Philippe Martin wrote:
> 
>> I'm looking for an algo that would convert a list such as:
>> 
>> 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
>> l2 = func (l1)
>> # l2 = [0x1, 0x2, 0xD, 0x6, 0x8, 0x7] #represents 0x12D687
> 
> def func(x):
>     result = list(x)
>     result[2:4] = [0xd]
>     result[-1], result[-2] = result[-2], result[-1]
>     return result
> 
> l1 = [1, 2, 3, 4, 6, 7, 8]
> l2 = func(l1)
> print l2
> 
> And now please describe you problem a little better.  ;-)
> 
> Ciao,
> Marc 'BlackJack' Rintsch

I'll try.

first of all python is not going to be used for my purpose (sigh)

I have device A which holds a binary coded decimal array [N1,N2,....Nn]
where the array represents a decimal number.

In C: unsigned char dec[] = {1,2,3,4,5,6,7,8};

I need that array converted for device B into an array where each element
represents the actual byte value.

In C: the result would be unsigned char hex[] = {0x1,0x2,0xD,0x6,0x8,0x7};

I guess any pocket calculator goes through that process for dec/hex
conversion.

Hope that's clearer.

Regards,

Philippe






More information about the Python-list mailing list