Division mit Ergebnis kleiner 1

Gast #1812203
Lesenswert?

Sehr geehrtes Forum,

mein Problem ist Folgendes:

Ich muss 2 Zahlen, die relativ groß sind und nahe beieinander liegen 
teilen, um einen Korrekturwert zu ermitteln.
Konkret geht es um Werte wie
zB 60052/59823=1,003827959
Damit möchte ich dann einen Wert verändern:
1625*1,003827959=1631,220434
Der Wert 1625 wurde auf 1631 verändert.

Wie realisiere ich das am besten auf einem MSP430?


Liebe Grüße,
Schlampf
Gast #1812238
Lesenswert?

Hallo,

vielen Dank für die Antworten!

Das hört sich sehr einfach an :)
Hab es trozdem nicht so ganz verstanden ...

Wert * 60052 ist die Mult. zweier 16bit Werte, das kann der MSP430 laut 
Datenblatt ... abgespeichert wird das Erg. in 32bit.
Soweit hab ichs verstanden, aber wie läuft die Division ab?
Gibts dafür auch eine HW-Komponente?

Gruß
Schlampf
Gast #1812244
Lesenswert?

Vielleicht schreibst Du mal was eigentlich das Problem ist.

Es ist doch erstmal völlig gleichgültig ob die Division nun per Hardware 
durchgeführt wird oder nicht. Es sei denn Du hast uns eine 
Nebenbedingung nicht genannt. Und jeder Prozessor, der 
subtrahieren/addieren kann, kann auch multiplizieren. Worum geht es 
eigentlich?

Ausserdem frage ich mich wo hier, entsprechend dem Thread-Titel eine 
Division mit Ergebnis kleiner 1 auftritt.
Gast #1812311
Lesenswert?

Vielen dank für eure Antworten!


Grrrr schrieb:
> Ausserdem frage ich mich wo hier, entsprechend dem Thread-Titel eine
> Division mit Ergebnis kleiner 1 auftritt.

Das war natürlich schlecht formuliert ...
Ich meinte ein Ergebnis, das seine relevanten Stellen hinter dem Komma 
hat.
zB 1,00001 oder 0,99999.

mano schrieb:
> Lass den PC mal 1625 * (60052 / 59823) und  (1625 * 60052) / 59823
> rechnen und vergeich die Ergebnisse (natürlich alles ints und keine
> floats).

Im ersten BSP wird hinter dem Komma alles abgeschnitten und mit 1 
multipliziert (nutzlos), im 2.BSP werden zwei 16bit Werte multilplizier 
in ein 32bit Ergebnis geschrieben, das ganze dann wieder durch 16bit 
geteilt und dieses Erg. wird dann in eine 16bit Variable 
geschrieben.(richtiges Ergebnis)

Das hat mir schon sehr geholfen (auch fürs Verständnis).
Aber meine Frage wie die Division im MSP430 gemacht wird beschäftigt 
mich immernoch.
Ist es der Algorithmus "binäre Division?"

Wo kann ich mich denn schlaulesen zum Thema Division?
Könnt Ihr mir ein gutes Skript oder Buch empfehlen, das vielleicht 
speziell im Bezug auf uController dieses Thema erklärt?


Gruß,
Sclampf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren