Assembler: Römische Zahlen in dezimal Wert konvertieren

Neue Frage »

Auf diesen Beitrag antworten »
asm_user Assembler: Römische Zahlen in dezimal Wert konvertieren

hi,

ich wollt ein programm schreiben, welches eine römische Zahl zB "MCMXCIX" -> "1999" in den richtigen dezimal wert konvertiert.

ich habe bereits die ascii werte für die römischen ziffern herausgesucht.
zB:
I -> 73
V -> 86
usw.

Nun, wie kann ich das problem lösen, dass wenn der User zB "V" eintippt, ich den wert "5" erhalte und ausgeben kann?

danke im voraus.
 
Auf diesen Beitrag antworten »
Crotaphytus

Warum willst du das ausgerechnet in Assembler machen? Das Problem ist schließlich nicht gerade trivial, da die Bedeutung eines Zeichens unter Umständen von den Nachfolgenden abhängt... Gibt es einen guten Grund dafür, nicht einfach ne höhere Programmiersprache zu nehmen?
Auf diesen Beitrag antworten »
asm_user

naja es ist die vorgabe die vorschreibt, dass ich asm verwenden soll.

du hast recht, dass es ziemlich komplex is zu lösen ... aber es ist interessant großes Grinsen

ich möchte nur herausfinden wie ich zB den ASCII Wert von "V" in den richtigen dezimal wert herausfiltern kann,
Auf diesen Beitrag antworten »
ed209

Schreib dir den Algorithmus erstmal als Pseudocode auf, wie du ihn in einer Hochsprache lösen würdet. Dann kannst du Dir einfach überlegen wie du aus den Schleifen und Bedingungen Sprungbefehle usw. machen kannst.

Das ist das einfachste und übersichtlichste smile

Gruss,
ED209
 
Auf diesen Beitrag antworten »
kurellajunior

Und als Weg dahin:

Als erstes eine Zuordnung jedes Zeichens zu seinem Zahlenwert.
Dann die Zuordnung eines jeden Zeichens zu seinem Zahlenwert in Abhängigkeit seines Nachfolgers.

Und dann Addition aller auftretenden Zeichen. Das Mapping Zeichen -> Zahlenwert kannst Du im Zweifel hard eintragen Augenzwinkern
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »