sven
pointers don't kill programs, programmers kill programs
Hoe zet je een (hexa)decimaal cijfer om in een BCD waarde.
Op een wiskundig manier, het is om te gebruiken in een programma. Dus niet het cijfer opschrijven en....da kan ik wel, maar een µC niet.
Op veel plekken zegt men er gewoon 6 bij op te tellen, maar da klopt ni voor getallen boven ~20. En ik moet tot 60 geraken.
Voor de BCD code gelden de volgende conversie regels naar het decimale getalstelsel:
m = a2a1a0 DEC
= b11b10b9b8 b7b6b5b4 b3b2b1b0 BCD
waarbij
a0 DEC = b3b2b1b0 BIN
a1 DEC = b7b6b5b4 BIN
a2 DEC = b11b10b9b8 BIN
Als voorbeeld om dit toe te lichten:
937 DEC = 1001 0011 0111 BCD
Anoniem
stel een getal xy in hex.
(x*16+y)/10 met rest. De uitkomst is het tiental rest eenheden. dan omzetten in binair.
dus 59
(5*16+9)= 89 is I000 I00I ik weet niet of je hie iets mee bent. Palieter
Bastiaan
Bachelor of Engineering -- Microcontrollers AVR, PIC (asm, C), PC applicaties (C, C++), Webpages (HTML, CSS, PHP, SQL), Rail-infra engineer
Je wilt het in een µC zetten?
Dan moet je gewoon een teller gebruiken. Je trek van het getal telkens 10 af, tot je in de min gaat. Elke keer als het kan tel je 1 op bij je teller. Zit je in de min dan is het getal dus kleiner dan 10, laat de µC dan weer ff 10 erbij optellen en dit restje is dan je aantal eenheden. Hierna even de teller en je eenheden naar binair omzetten.
Maak gebruik dus gebruik van de N flag.
[Bericht gewijzigd door Bastiaan op ]
sven
pointers don't kill programs, programmers kill programs
Op ma 03-06-2002 22:53:37 schreef Bas:
Voor de BCD code gelden de volgende conversie regels naar het decimale getalstelsel:m = a2a1a0 DEC
= b11b10b9b8 b7b6b5b4 b3b2b1b0 BCDwaarbij
a0 DEC = b3b2b1b0 BIN
a1 DEC = b7b6b5b4 BIN
a2 DEC = b11b10b9b8 BINAls voorbeeld om dit toe te lichten:
937 DEC = 1001 0011 0111 BCD
bedankt, maar dat wist ik dus al. Ik ben bezig een programma te schrijven in assembler & ik moet een conversie uitvoeren van een hexadecimaal naar een binair getal...
sven
pointers don't kill programs, programmers kill programs
bastiaan & pallieter : dat moest ik dus hebben, bedankt!
blijkbaar lukt het denken vandaag ni zo goed, was het veel te moeilijk aan het maken....