??? 04/16/09 07:55 Modified: 04/16/09 07:58 Read: times |
#164648 - Base conversion. Responding to: ???'s previous message |
I could find some codes that make this, but could not really understand what they do, or why they do that way, I would like know some teory behind this, to understand, google dont says much specifically about this, someone can give some help to my neurons?
"Converting" a 16-bit value to ASCII is basically just a change of the base of the number - from base-2 (or base-16) to base-10. The most important thing to know is that the digits (dn...d0) of a base-10 number represent the value of the number in the following way: value = (10^0)*d0 + (10^1)*d1 + ... + (10^n)*dn. If you know the maximum number of digits that the number will have in base-10 (5 for a 16-bit integer), then it's easy to calculate dn ... d0 iteratively using integer division: dn = value / (10^n) value = value - (dn * 10^n) d(n-1) = value / (10^(n-1)) value = value - (d(n-1) * 10^(n-1)) ... d1 = value / 10^1 value = value - (d1 * 10^1) d0 = value The nice thing is that this is independent of the base that value uses natively, e.g. it doesn't matter whether the "system" represents numbers in base-2, base-10, base-16 or base-371 (*shudder*). It also works for conversion to other representations than base-10 - just replace the 10 by the desired base (and remember that number of digits may change, too). |
Topic | Author | Date |
16bit number to ascii | 01/01/70 00:00 | |
Base conversion. | 01/01/70 00:00 | |
Number Base (Radix) and Place Value | 01/01/70 00:00 | |
ASCII | 01/01/70 00:00 | |
Right ... I forgot about that part. | 01/01/70 00:00 | |
What I'd wonder ... | 01/01/70 00:00 | |
Is it relevant? | 01/01/70 00:00 | |
That's somewhat of a description | 01/01/70 00:00 | |
D'oh! You've given it away | 01/01/70 00:00 | |
Well ... not quite ... | 01/01/70 00:00 | |
That was step 1. | 01/01/70 00:00 | |
not hard when talking in human language or C... | 01/01/70 00:00 | |
Irrelevant | 01/01/70 00:00 | |
Op code? | 01/01/70 00:00 | |
Ah, yes ... the Fairchild FND-70 driver ... | 01/01/70 00:00 | |
nybble-to-7-segment encoder | 01/01/70 00:00 | |
if... | 01/01/70 00:00 | |
30 years ago | 01/01/70 00:00 | |
That's a BIG if | 01/01/70 00:00 | |
Serial output | 01/01/70 00:00 | |
That might work in SOME cases ... | 01/01/70 00:00 | |
But I'm not that fast | 01/01/70 00:00 | |
What about infrequently recurring events? | 01/01/70 00:00 | |
FND-70 driver? Luxury! | 01/01/70 00:00 | |
Decoding DTMF | 01/01/70 00:00 |