<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Fließkomma - Wie hole ich mehr Genauigkeit heraus?]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgendes Beispiel gibt -3.01755e-20 aus.</p>
<pre><code class="language-cpp">int main() {
  double w = -0.00161579;
  double rho = -3.23158e-05;
  double Igrad = 0.0004;
  const double gamma = 0.02;

    w = w - rho * gamma / Igrad;

    std::cout &lt;&lt; w &lt;&lt; std::endl;
}
</code></pre>
<p>Das Ergebnis ist - für meinen Anwendungsfall - zu ungenau. Eine Maschine muss gesteuert werden.<br />
Matlab gibt mir -2.168404344971009e-19 heraus. Damit wäre ich zufrieden. Das Irre an der Sache ist, das der C-Compiler von Matlab dasselbe Ergebnis wie Matlab liefert. Aber g++ versagt. Ansonsten ist der Matlab-C-Compiler Müll.</p>
<p>Was ist zu tun <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Danke im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/306653/fließkomma-wie-hole-ich-mehr-genauigkeit-heraus</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 11:55:03 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/306653.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 03 Aug 2012 16:10:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:10:09 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>folgendes Beispiel gibt -3.01755e-20 aus.</p>
<pre><code class="language-cpp">int main() {
  double w = -0.00161579;
  double rho = -3.23158e-05;
  double Igrad = 0.0004;
  const double gamma = 0.02;

    w = w - rho * gamma / Igrad;

    std::cout &lt;&lt; w &lt;&lt; std::endl;
}
</code></pre>
<p>Das Ergebnis ist - für meinen Anwendungsfall - zu ungenau. Eine Maschine muss gesteuert werden.<br />
Matlab gibt mir -2.168404344971009e-19 heraus. Damit wäre ich zufrieden. Das Irre an der Sache ist, das der C-Compiler von Matlab dasselbe Ergebnis wie Matlab liefert. Aber g++ versagt. Ansonsten ist der Matlab-C-Compiler Müll.</p>
<p>Was ist zu tun <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Danke im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238388</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:10:09 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:18:26 GMT]]></title><description><![CDATA[<p><a href="http://ideone.com/EXfFr" rel="nofollow">http://ideone.com/EXfFr</a><br />
geht doch<br />
vlt neuen gcc oder irgendwelche optimierungen, fastmath oder wie das heißt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238393</guid><dc:creator><![CDATA[Bitte geb]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:18:26 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:20:00 GMT]]></title><description><![CDATA[<p>Bei mir passt es. -2.16840434497101e-19. Hast du irgendeinen komischen Compiler, bei dem double nicht 64-Bit hat? Oder irgendwelche komischen Compilerschalter aktiviert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238394</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:20:00 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:23:40 GMT]]></title><description><![CDATA[<p>Echt? Bei dir läuft's? Ich habe Ubuntu 32 Bit mit g++ 4.6. Was hast du? Der Matlab-C-Compiler läuft auf der selben Maschine.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238401</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:23:40 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:23:46 GMT]]></title><description><![CDATA[<p>-3.01755e-20 ist doch vom Betrag her viel kleiner, also genauer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238402</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:23:46 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:24:46 GMT]]></title><description><![CDATA[<p>Wird Zeit für 64 bit...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238405</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:24:46 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:27:57 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Bei mir passt es. -2.16840434497101e-19.</p>
</blockquote>
<p>-3.01755e-020</p>
<p>GCC 4.6.2</p>
<p>-Wall<br />
-Wextra<br />
-std=c++0x</p>
<p>Ist aber ein MinGW 32 Bit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238408</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:27:57 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:28:50 GMT]]></title><description><![CDATA[<p>goran schrieb:</p>
<blockquote>
<p>Wird Zeit für 64 bit...</p>
</blockquote>
<p>Das hat damit nichts zu tun. double sollte auch auf 32 Bit Architekturen 64 Bit gross sein. Btw. Verwendest du Intel oder AMD?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238409</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:28:50 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:29:09 GMT]]></title><description><![CDATA[<p>Intel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238410</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:29:09 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:30:18 GMT]]></title><description><![CDATA[<p>-2.16840434497101e-19 ist das Ergebnis welches näher an der Wahrheit liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238411</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:30:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:30:56 GMT]]></title><description><![CDATA[<p>Auch auf 32-Bit Systemen hat ein double in der Regel doppelte Genauigkeit. -3.01755e-20 kommt raus, wenn du mit vierfacher Genauigkeit (meistens long double) rechnest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238412</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:30:56 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:33:34 GMT]]></title><description><![CDATA[<p>goran schrieb:</p>
<blockquote>
<p>-2.16840434497101e-19 ist das Ergebnis welches näher an der Wahrheit liegt.</p>
</blockquote>
<p>Und die hast du wie festgestellt? Wie dem auch sei: Wenn das eine Rolle spielt, dann solltest du dein Problem umskalieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238414</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:33:34 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 17:16:30 GMT]]></title><description><![CDATA[<p>goran schrieb:</p>
<blockquote>
<p>-2.16840434497101e-19 ist das Ergebnis welches näher an der Wahrheit liegt.</p>
</blockquote>
<p>LOL. Schnapp dir mal Zettel und Stift und staune! Das exakte Ergebnis ist 0!</p>
<p>Matlab hat nicht die Wahrheit gepachtet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238417</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 03 Aug 2012 17:16:30 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:42:15 GMT]]></title><description><![CDATA[<p>Die alte x87 FPU rechnet mit 80 Bit Genauigkeit. Wenn du für x86_64 kompilierst, dann werden die entsprechenden SSE-Befehle genommen, die mit 64 Bit Genauigkeit rechnen. Wenn du optimierst, dann rechnet gcc das schon zur Kompilierzeit zusammen - ebenfalls mit 64 Bit Genauigkeit. Deswegen bekommst du das &quot;andere&quot; Ergbnis nur bei x86 und ausgeschalteten Optimierungen.</p>
<p>-3.01755e-20 liegt übrigens näher am realen Ergebnis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238418</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:42:15 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:43:41 GMT]]></title><description><![CDATA[<p>Auf 0 bin ich auch gekommen nachdem ich den Algorithmus numerisch etwas besser gemacht habe:</p>
<pre><code class="language-cpp">int main() {
  double w = -0.00161579;
  double rho = -3.23158e-05;
  double Igrad = 0.0004;
  const double gamma = 0.02;

    w = w - rho * (gamma / Igrad); //division zuerst durchführen, da hier gamma bzw Igrad näher aneinander liegen als Igrad und (rho*gamma)

    std::cout &lt;&lt; w &lt;&lt; std::endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2238421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238421</guid><dc:creator><![CDATA[KMT]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:43:41 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:46:50 GMT]]></title><description><![CDATA[<p>bestatigt: exakt null kommt raus, wie seppj bereits angemerkt hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238422</guid><dc:creator><![CDATA[b.b.]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:46:50 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:49:31 GMT]]></title><description><![CDATA[<blockquote>
<p>w = w - rho * gamma / Igrad;</p>
</blockquote>
<p>für solche vorschulenaufgaben muss man also heutzutage matlab bemühen, interessant ... rofl, scnr.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238425</guid><dc:creator><![CDATA[interessant0r]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:49:31 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:54:41 GMT]]></title><description><![CDATA[<p>Könnte gut sein, das die verschiedenen compiler es in unterschiedlicher Reihenfolge rechnen, und man deshalb andere Ergebnisse bekommt. Kann da jemand den asm output vergleichen? Bin mit Assembler leider nicht so bewandert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238430</guid><dc:creator><![CDATA[KMT]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:54:41 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:55:55 GMT]]></title><description><![CDATA[<p>KMT schrieb:</p>
<blockquote>
<p>Könnte gut sein, das die verschiedenen compiler es in unterschiedlicher Reihenfolge rechnen</p>
</blockquote>
<p>Siehe</p>
<p>Athar schrieb:</p>
<blockquote>
<p>Die alte x87 FPU rechnet mit 80 Bit Genauigkeit. Wenn du für x86_64 kompilierst, dann werden die entsprechenden SSE-Befehle genommen, die mit 64 Bit Genauigkeit rechnen. Wenn du optimierst, dann rechnet gcc das schon zur Kompilierzeit zusammen - ebenfalls mit 64 Bit Genauigkeit. Deswegen bekommst du das &quot;andere&quot; Ergbnis nur bei x86 und ausgeschalteten Optimierungen.</p>
<p>-3.01755e-20 liegt übrigens näher am realen Ergebnis.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2238432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238432</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:55:55 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 16:57:01 GMT]]></title><description><![CDATA[<p>Ah ok, übersehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238433</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238433</guid><dc:creator><![CDATA[KMT]]></dc:creator><pubDate>Fri, 03 Aug 2012 16:57:01 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 18:04:24 GMT]]></title><description><![CDATA[<pre><code>Seien folgende Werte gegeben:

w = -0.00161579
rho = -3.23158e-05
Igrad = 0.0004
gamma = 0.02

Weiter sei angenommen y = rho * gamma. Dann folgt:

y = -3.23158e-05 * 0,02
  = -0,0000323158 * 0,02
  = -0
    -  0
    -   00000646216
    ---------------
    -0,000000646216

Weiter sei angenommen z = y / Igrad. Dann folgt:

z = -0,000000646216 / 0,0004
  = -0,000000646216 / (4/10000)
  = -0,000000646216 * (10000/4) 
  = -0,00646216 / 4
  = -0,00161554

Weiter sei angenommen A = w - rho * gamma / Igrad. Dann folgt:

A = w - rho * gamma / Igrad
  = w - y / Igrad
  = w - z
  = -0,00161579 - -0,00161554
  = -0,00161579 +  0,00161554
  = -0,00000025

Damit folgt A != 0.
</code></pre>
<p>Ferner gilt -0,00000025 &lt; -2.16840434497101e-19 &lt; -3.01755e-20.<br />
Dann gilt auch der das -2.16840434497101e-19 näher an der Wahrheit liegt wenn -0,00000025 die Wahrheit ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238466</guid><dc:creator><![CDATA[goran]]></dc:creator><pubDate>Fri, 03 Aug 2012 18:04:24 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 18:47:42 GMT]]></title><description><![CDATA[<p>Du hast dich bei y verrechnet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238482</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Fri, 03 Aug 2012 18:47:42 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 19:11:35 GMT]]></title><description><![CDATA[<p>goran schrieb:</p>
<blockquote>
<pre><code>Seien folgende Werte gegeben:

w = -0.00161579
rho = -3.23158e-05
Igrad = 0.0004
gamma = 0.02

Weiter sei angenommen y = rho * gamma. Dann folgt:

y = -3.23158e-05 * 0,02
  = -0,0000323158 * 0,02
  = -0
    -  0
    -   00000646216
    ---------------
    -0,000000646216

Weiter sei angenommen z = y / Igrad. Dann folgt:

z = -0,000000646216 / 0,0004
  = -0,000000646216 / (4/10000)
  = -0,000000646216 * (10000/4) 
  = -0,00646216 / 4
  = -0,00161554

Weiter sei angenommen A = w - rho * gamma / Igrad. Dann folgt:

A = w - rho * gamma / Igrad
  = w - y / Igrad
  = w - z
  = -0,00161579 - -0,00161554
  = -0,00161579 +  0,00161554
  = -0,00000025

Damit folgt A != 0.
</code></pre>
<p>Ferner gilt -0,00000025 &lt; -2.16840434497101e-19 &lt; -3.01755e-20.<br />
Dann gilt auch der das -2.16840434497101e-19 näher an der Wahrheit liegt wenn -0,00000025 die Wahrheit ist.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238495</guid><dc:creator><![CDATA[wtf++]]></dc:creator><pubDate>Fri, 03 Aug 2012 19:11:35 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 20:29:19 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>-3.01755e-20 ist doch vom Betrag her viel kleiner, also genauer.</p>
</blockquote>
<p>self quote ftw <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238516</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Fri, 03 Aug 2012 20:29:19 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 20:45:46 GMT]]></title><description><![CDATA[<p>Um nochmal auf die eigentliche Frage des TS zurückzukommen:</p>
<p>Evtl. ist auch Intvallarithmetik für dich interessant, bei der berechnet wird, in welchem Intervall das Ergebnis garantiert liegt. Nach einer Bibliothek müsstest du selbst suchen.</p>
<p>Ansonsten müsstest nach einer Klasse/Bibliothek suchen, die z.B. mit einer 256bit-Mantisse rechnet. Natürlich steigen dadurch die Rechenzeiten erheblich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238518</guid><dc:creator><![CDATA[Ramanujan]]></dc:creator><pubDate>Fri, 03 Aug 2012 20:45:46 GMT</pubDate></item><item><title><![CDATA[Reply to Fließkomma - Wie hole ich mehr Genauigkeit heraus? on Fri, 03 Aug 2012 20:49:17 GMT]]></title><description><![CDATA[<p>goran schrieb:</p>
<blockquote>
<p>folgendes Beispiel gibt -3.01755e-20 aus.</p>
<pre><code class="language-cpp">int main() {
  double w = -0.00161579;
  double rho = -3.23158e-05;
  double Igrad = 0.0004;
  const double gamma = 0.02;

    w = w - rho * gamma / Igrad;

    std::cout &lt;&lt; w &lt;&lt; std::endl;
}
</code></pre>
<p>Das Ergebnis ist - für meinen Anwendungsfall - zu ungenau. Eine Maschine muss gesteuert werden.</p>
</blockquote>
<p>Hallo goran,</p>
<p>was ist das für eine Maschine? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>.. nur mal angenommen, w hat die Einheit 1000km, dann ist das &quot;ungenaue&quot; Ergebnis -3.01755e-17km bzw. -3.01755e-14m bzw. -3.01755e-2pm (pikometer). Der Durchmesser eines Wasserstoffatom liegt in der Größenordnung von 35pm.<br />
Ich stelle mir gerade einen Roboter vor, der einen 1,6km langen Arm hat (-0.00161579 * 1000km), der über eine Mechanismus in der Armschulter am Finger mit einer Genauigkeit von weniger als 1% eines Atomdurchmessers gesteuert werden soll. Und das ist Dir nicht genau genug <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Dein Problem ist nicht die 'unzureichende Genauigkeit' eines double - Dein Problem liegt woanders!</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238519</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Fri, 03 Aug 2012 20:49:17 GMT</pubDate></item></channel></rss>