PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zahl aufrunden bzw. abrunden



Pitt1986
24.11.2005, 01:27
hi,

ich benutze den pic 18f452 und arbeite mit assembler.
ich will jetzt eine zahl zwischen 0 und 255 auf- bzw. abrunden.

kann mir da jemand eine lösung sagen oder mir ein algorithmus zum einbinden nennen.

bin dankbar für alle hilfreichen antworten.

mfg
pitt

Skilltronic
24.11.2005, 10:17
Hallo

Wie willst du denn auf- oder abrunden - auf volle zehner? Beschreibe doch mal etwas genauer, was du mchen möchtest.

Gruss
Skilltronic

Pitt1986
24.11.2005, 11:13
hi,

ja ich will auf volle zehner runden.
es sind handelt sich nur um ganzzahlen.
bis zu der zahl vier soll abgerundet werden und ab der fünf aufgerundet.

mfg
pitt

Klaus_0168
24.11.2005, 14:26
Hi Pitt1986,

da Du mit Integerwerten arbeitest entfallen alle Nachkommastellen automatisch. Mit der Formel

Gerundet = (Zahl + 5) / 10 * 10

ist das kaufmännische Runden abgehandelt. Eine Assemblerroutine habe ich jetzt jedoch nicht parat.

Grüße Klaus

Fritzli
24.11.2005, 16:37
Hallo

Normalerweise versucht man, solche Divisionen auf kleineren uC's zu vermeiden - wenn's geht.
Wär es nicht irgendwie möglich, dass Du die Zahl nur in Zehnerschritten erfasst? Woher kommt denn die Zahl und was soll damit passieren?

Gruess
Fritzli

kalledom
09.12.2005, 19:53
Wert = 0...255
Zähler = 0
Schleife:
Ist Wert < 10 dann goto Runden
Zähler + 1
Wert - 10
goto Schleife

Runden:
Ist Wert < 5 dann goto Fertig
Zähler + 1

Fertig:
Zähler => Ergebnis
Ende