Rechnung mit grossen Zahlen

Gast #33139
Hallo,

Ich bin dran ein Geschwindigkeitsmesser zu bauen, daher sollte ich 
wissen wie ich die Zahl 150000 (Abstand der Lichtschranken) durch eine 
Zahl zwischen 1500 und 3000 dividiere. Die Zahl zwischen 1500&3000 
befindet sich in verschiedenen Register, durch inkrementieren während 
des Interrupts (wenn die erste Lichtschranke unterbrochen wird)

Danke im Voraus
Gast #33140
bei Atmel findet man Assemblerroutinen für 16bit-Arithmetik 
(avr200.asm???). Die lassen sich leicht erweitern auf 32bit. In deinem 
Fall reichen auch 24bit, zwar unüblich, aber was solls. Spart auf jeden 
Fall Rechenzeit und Register.
Gast #33141
hi

wenn du nicht auf avr umsteigen musst, dann schau mal
in   www.8052.com auf der linken seite ''code examples''

da findest du rechenroutinen von ...Marshall...

ciao
ed
Gast #33143
Noch ein Lösungsvorschlag:
Nimm eine Hochsprache (z.B. C oder Basic). Da gibts üblicherweise 
32Bit-Zahlen und Division schon fertig.
Gast #33144
Ich habe jetzt schon alles in assembler geschrieben ;)

Bin gerade dran die "Math Routines" von Marshall (8052.com) 
auszuprobieren, doch wenn ich ein Ergebnis ausgeben will, das grösser 
als 255 ist gibt er wirre Zahlen aus, oder geb ich das bloss falsch aus 
?

Z.B wollte ich 3276 / 1000 (in Form von HexZahlen)berechnen, doch 
anstatt das Ergebnis 3.276 auszugeben bringt er für :

r3 = 0
r2 = 0
r1 = 0
r0 = 3 (was auch bis hierher stimmt)
für Nachkommastellen
r7 = 0
r6 = 0
r5 = 1
r4 = 20

...aus

Anordnung ist folgendermaßen
; output:   r3, r2, r1, r0 = quotient Q of division Q = X / Y
;           r7, r6, r5, r4 = remainder (Rest, nachkomma)

Ich hoff da kann mir jemand weiterhelfen

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.