<?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[bessere Präzision durch Multiplikation oder durch Division?]]></title><description><![CDATA[<p>Hey zusammen,</p>
<p>die Frage steht im Titel;</p>
<p>Sollte ich z.B. eher<br />
'10.743927549285 * 0.5'<br />
oder<br />
'10.743927549285 / 2.0' rechnen?<br />
Was ist genauer (mit gcc/g++)?</p>
<p>Würde mich mal interessieren...</p>
<p>Viele Grüße,</p>
<p>informat</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247832/bessere-präzision-durch-multiplikation-oder-durch-division</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 11:02:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247832.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 16 Aug 2009 11:42:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bessere Präzision durch Multiplikation oder durch Division? on Sun, 16 Aug 2009 11:42:44 GMT]]></title><description><![CDATA[<p>Hey zusammen,</p>
<p>die Frage steht im Titel;</p>
<p>Sollte ich z.B. eher<br />
'10.743927549285 * 0.5'<br />
oder<br />
'10.743927549285 / 2.0' rechnen?<br />
Was ist genauer (mit gcc/g++)?</p>
<p>Würde mich mal interessieren...</p>
<p>Viele Grüße,</p>
<p>informat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761667</guid><dc:creator><![CDATA[informat085]]></dc:creator><pubDate>Sun, 16 Aug 2009 11:42:44 GMT</pubDate></item><item><title><![CDATA[Reply to bessere Präzision durch Multiplikation oder durch Division? on Sun, 16 Aug 2009 11:44:55 GMT]]></title><description><![CDATA[<p>* 0.5 könnte schneller sein. An der Genauigkeit sollte sich nicht viel ändern, zumal auf die letzten paar Stellen von Fließkommazahlen eh kein Verlass ist (auch wenns bei double lange dauert, bis das erreicht ist, siehe epsilon)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761668</guid><dc:creator><![CDATA[sdfghjkl]]></dc:creator><pubDate>Sun, 16 Aug 2009 11:44:55 GMT</pubDate></item><item><title><![CDATA[Reply to bessere Präzision durch Multiplikation oder durch Division? on Sun, 16 Aug 2009 12:16:13 GMT]]></title><description><![CDATA[<p>Bei Dezimalstellen wird binär gerundet. Also am besten so:</p>
<pre><code>'10.743927549285 * (1 / 2)'
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1761688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761688</guid><dc:creator><![CDATA[Divis0r]]></dc:creator><pubDate>Sun, 16 Aug 2009 12:16:13 GMT</pubDate></item><item><title><![CDATA[Reply to bessere Präzision durch Multiplikation oder durch Division? on Sun, 16 Aug 2009 12:24:20 GMT]]></title><description><![CDATA[<p>Divis0r schrieb:</p>
<blockquote>
<p>Bei Dezimalstellen wird binär gerundet. Also am besten so:</p>
<pre><code>'10.743927549285 * (1 / 2)'
</code></pre>
</blockquote>
<p>Ganz falsch. *0.5 oder /2.0 ist ok und angeraten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761695</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 16 Aug 2009 12:24:20 GMT</pubDate></item><item><title><![CDATA[Reply to bessere Präzision durch Multiplikation oder durch Division? on Sun, 16 Aug 2009 12:29:29 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>Divis0r schrieb:</p>
<blockquote>
<p>Bei Dezimalstellen wird binär gerundet. Also am besten so:</p>
<pre><code>'10.743927549285 * (1 / 2)'
</code></pre>
</blockquote>
<p>Ganz falsch.</p>
</blockquote>
<p>also x * (1/2) ist schon genauer, da kommt immer genau 0 raus. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761698</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761698</guid><dc:creator><![CDATA[naja]]></dc:creator><pubDate>Sun, 16 Aug 2009 12:29:29 GMT</pubDate></item><item><title><![CDATA[Reply to bessere Präzision durch Multiplikation oder durch Division? on Sun, 16 Aug 2009 17:18:36 GMT]]></title><description><![CDATA[<p>informat085 schrieb:</p>
<blockquote>
<p>die Frage steht im Titel;</p>
<p>Sollte ich z.B. eher<br />
'10.743927549285 * 0.5'<br />
oder<br />
'10.743927549285 / 2.0' rechnen?</p>
<p>Was ist genauer (mit gcc/g++)?</p>
</blockquote>
<p>Ich würde 0.5 schreiben. Multiplizieren ist meist schneller als Dividieren bei floating point.</p>
<p>Der GCC ist aber bekannt dafür, dass er konstante Ausdrücke a la (3.14159265/27.0*sin(0.2)) schon zur Compile-Zeit mit Hilfe einer &quot;multiple precision library&quot; ausrechnet. Das Ergebnis kann also genauer sein als das, was Du zur Laufzeit berechnen kannst.</p>
<p>Was die Genauigkeit zwischen *0.5 und /2.0 angeht, macht das keinen Unterschied. Üblich ist die Speicherung von Fließkommazahlen der Form</p>
<pre><code>Vorzeichen * Mantisse * Basis^Exponent
</code></pre>
<p>wobei Basis meistens 2 ist und Mantisse durch üblicherweise 23-52 Bits kodiert wird. Von Überläufen des Exponenten mal abgesehen, ist die Multiplikation mit Potenzen der Basis genauso wie die Division durch Potenzen der Basis verlustfrei -- weil ja nur Exponent, welches eine Ganzhahl ist, erhöht oder erniedrigt wird.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1761857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761857</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Sun, 16 Aug 2009 17:18:36 GMT</pubDate></item><item><title><![CDATA[Reply to bessere Präzision durch Multiplikation oder durch Division? on Sun, 16 Aug 2009 19:31:57 GMT]]></title><description><![CDATA[<p>Vielen Dank für die Anworten! <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/1761911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1761911</guid><dc:creator><![CDATA[informat]]></dc:creator><pubDate>Sun, 16 Aug 2009 19:31:57 GMT</pubDate></item></channel></rss>