# Arithmetik doppelter Genauigkeit. R2 Funktionen.Gibt es einen Divisionsbaustein?

**URL:** <https://oscat.discourse.group/t/arithmetik-doppelter-genauigkeit-r2-funktionen-gibt-es-einen-divisionsbaustein/799>\
**Category:** oscat.lib fuer TwinCAT/CoDeSys\
**Created:** [8. März 2010 um 20:51 UTC](https://oscat.discourse.group/t/arithmetik-doppelter-genauigkeit-r2-funktionen-gibt-es-einen-divisionsbaustein/799 "2010-03-08T20:51:33Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [8. März 2010 um 20:51 UTC](https://oscat.discourse.group/t/arithmetik-doppelter-genauigkeit-r2-funktionen-gibt-es-einen-divisionsbaustein/799/1 "2010-03-08T20:51:33Z")

</div>

Hiho@all

Ich habe das Problem, dass ich mit 21bit Analogwerten arbeiten muss. Ob Sinn oder Unsinn möchte ich hier nicht diskutieren. Ich muss auf jedefall damit rechnen.  
Ich habe in der lib die “Arithmetik doppelter Genauigkeit” Funktionen gefunden. R2\_ABS, R2\_ADD, R2\_ADD2, R2\_MUL und R2\_SET.

Meine Frage ist nun, hat wer R2\_DIV?  
Gibt es einen Baustein der Division mit R2 kann?

Bin dankbar für JEDE Antwort. 😉

MfG  
Fanta

---

<div class="post-metadata">

**Author:** ![hugo](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/hugo/32/133_2.png) [@hugo](https://oscat.discourse.group/u/hugo)\
**Post date:** [8. März 2010 um 22:02 UTC](https://oscat.discourse.group/t/arithmetik-doppelter-genauigkeit-r2-funktionen-gibt-es-einen-divisionsbaustein/799/2 "2010-03-08T22:02:53Z")

</div>

benötigst du eine division vom typ r2 / r2 oder r2 / r (r steht für real und r2 für double real)

die division durch einen einfachen real kannst du mit multiplikation mit dem kehrwert ersetzen.

also x2 / y ersetzt mit r2\_mul(x2, 1/Y)

die multiplikation oder division mit zwei doppeöt genauen argumenten ist nicht trivial

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [8. März 2010 um 22:15 UTC](https://oscat.discourse.group/t/arithmetik-doppelter-genauigkeit-r2-funktionen-gibt-es-einen-divisionsbaustein/799/3 "2010-03-08T22:15:55Z")

</div>

Am einfachsten wäre R2/R2. Dann kann ich meine Berechnungen durchführen und am ende wieder in ein “normales” zahlenformat wechseln bzw es in einem String darstellen.  
Hast du so etwas? Ich glaube auch das es eine gute Ergänzung zur lib wäre. Somit hat man dann alle Grundrechenarten.

P.S. R2/R kann ich mit dem Baustein R2/R2 auch realisieren.

---

<div class="post-metadata">

**Author:** ![hugo](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/hugo/32/133_2.png) [@hugo](https://oscat.discourse.group/u/hugo)\
**Post date:** [9. März 2010 um 18:06 UTC](https://oscat.discourse.group/t/arithmetik-doppelter-genauigkeit-r2-funktionen-gibt-es-einen-divisionsbaustein/799/4 "2010-03-09T18:06:52Z")

</div>

die multiplikation und die division mit zwei doppelt real zahlen ist nicht trivial, es scheitert daran das ich keinen verifizirten algorithmus dafür habe.

bei der multiplikation mit einer einfachen real zahl geht das ganz einfach, es werden die beiden teile minor and major jeweils mit der gleichen mulktipliziert.

2 doppelte zahlen multiplizieren geht eben nicht mehr so einfach, es fahlt mit definitiv am passenden algorithmus

---

<div class="post-metadata">

**Author:** ![shooter](https://avatars.discourse-cdn.com/v4/letter/s/5f8ce5/32.png) [@shooter](https://oscat.discourse.group/u/shooter)\
**Post date:** [29. März 2010 um 11:46 UTC](https://oscat.discourse.group/t/arithmetik-doppelter-genauigkeit-r2-funktionen-gibt-es-einen-divisionsbaustein/799/5 "2010-03-29T11:46:57Z")

</div>

hugo  
ein idee gibts es bei mir.

benutze R2\_MUL und check ob es zu hoch oder runter ist.  
und dan mit succesive approximation zum endeffect gehen.

oder mach es mit alten arithmetik wie mathcad es macht also mit einem string.

die 21 bit ist das real oder Integer.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [30. März 2010 um 15:17 UTC](https://oscat.discourse.group/t/arithmetik-doppelter-genauigkeit-r2-funktionen-gibt-es-einen-divisionsbaustein/799/6 "2010-03-30T15:17:28Z")

</div>

ist nen analogwert also int genauer dint.

danke dir…werde mal googel belästigen wie du das meinst und versuchen es zu verstehen^^.
