<?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[Eine float-Zahl mit 10 multiplizieren]]></title><description><![CDATA[<p>Hallo!</p>
<p>Also mein Problem ist folgendes:<br />
Wenn ich eine float-Zahl mit 10 multipliziere, dann zeigt mir der Debugger von Microsoft Visual Studio an, dass da eine 1 an letzter Stelle hinzugekommen ist.<br />
Beispiel:</p>
<pre><code>float temp;
Zahl = 1.437;
temp = Zahl * 10;  //Der Debugger zeigt mir hier dann 14.370001 an
</code></pre>
<p>Da ist dann also die verflixte 1 an letzter Stelle hinzugekommen. Diese nervt mich ungemein, weil ich diese im späteren Verlauf mit einer anderen Zahl vergleichen will und 14.370001 ist nunmal nicht 14.370000.</p>
<p>Ich bitte dringend um Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/298312/eine-float-zahl-mit-10-multiplizieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 20:48:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/298312.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Jan 2012 17:52:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Tue, 17 Jan 2012 17:52:35 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Also mein Problem ist folgendes:<br />
Wenn ich eine float-Zahl mit 10 multipliziere, dann zeigt mir der Debugger von Microsoft Visual Studio an, dass da eine 1 an letzter Stelle hinzugekommen ist.<br />
Beispiel:</p>
<pre><code>float temp;
Zahl = 1.437;
temp = Zahl * 10;  //Der Debugger zeigt mir hier dann 14.370001 an
</code></pre>
<p>Da ist dann also die verflixte 1 an letzter Stelle hinzugekommen. Diese nervt mich ungemein, weil ich diese im späteren Verlauf mit einer anderen Zahl vergleichen will und 14.370001 ist nunmal nicht 14.370000.</p>
<p>Ich bitte dringend um Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2169245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169245</guid><dc:creator><![CDATA[The3hadow]]></dc:creator><pubDate>Tue, 17 Jan 2012 17:52:35 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Tue, 17 Jan 2012 17:56:06 GMT]]></title><description><![CDATA[<p>Da gibt es keine Hilfe. Die Zahl 1.437 ist im Binärsystem nicht exakt darstellbar (so wie z.B. 1/3 im Zehnersystem nicht exakt darstellbar ist). Du kannst bei der Ausgabe eine maximale Stellenzahl angeben, falls dich das stört. Das ändert natürlich nichts da dran, dass der Wert intern trotzdem 14.370001 ist und sich dies eventuell bei weiteren Rechenoperationen auswirken kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2169246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169246</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 17 Jan 2012 17:56:06 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Tue, 17 Jan 2012 18:05:20 GMT]]></title><description><![CDATA[<p>Ah okay...da muss ich mir dann einen anderen Lösungsansatz für meine Aufgabe suchen. <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="🙂"
    /><br />
Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2169251</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169251</guid><dc:creator><![CDATA[The3hadow]]></dc:creator><pubDate>Tue, 17 Jan 2012 18:05:20 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Tue, 17 Jan 2012 18:23:15 GMT]]></title><description><![CDATA[<p>Normalerweise vergleicht man Fliesskommazahlen nicht mit == .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2169258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169258</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Tue, 17 Jan 2012 18:23:15 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Tue, 17 Jan 2012 19:12:11 GMT]]></title><description><![CDATA[<p>Sonst einfach die Zahl runden :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2169266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169266</guid><dc:creator><![CDATA[Patrickssj6]]></dc:creator><pubDate>Tue, 17 Jan 2012 19:12:11 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Tue, 17 Jan 2012 19:20:28 GMT]]></title><description><![CDATA[<p>Hi,<br />
wenn du mit Floats rechnest, muss ein F hinter die Zahl, daher:</p>
<pre><code class="language-cpp">float temp;
Zahl = 1.437;
temp = (float)Zahl * 10.0F;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2169269</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169269</guid><dc:creator><![CDATA[Sprenger120]]></dc:creator><pubDate>Tue, 17 Jan 2012 19:20:28 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Tue, 17 Jan 2012 20:08:54 GMT]]></title><description><![CDATA[<p>Rechne doch einfach mit doubles, statt mit floats... die haben, wie der Name schon sagt, doppelte Genauigkeit <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2169290</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169290</guid><dc:creator><![CDATA[Soley]]></dc:creator><pubDate>Tue, 17 Jan 2012 20:08:54 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Tue, 17 Jan 2012 23:38:10 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/p1421900" rel="nofollow">http://www.c-plusplus.net/forum/p1421900</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2169348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169348</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 17 Jan 2012 23:38:10 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Wed, 18 Jan 2012 16:04:24 GMT]]></title><description><![CDATA[<p>sry, aber so viel unfug in einem thread... -.-'</p>
<p>Sprenger120 schrieb:</p>
<blockquote>
<p>Hi,<br />
wenn du mit Floats rechnest, muss ein F hinter die Zahl, daher:</p>
<pre><code class="language-cpp">float temp;
Zahl = 1.437;
temp = (float)Zahl * 10.0F;
</code></pre>
</blockquote>
<p>genialer einfall. jetzt kommt auf einmal 14.370000 raus - das war der fehler.<br />
hier mein code:</p>
<pre><code class="language-cpp">floatf tempf;
floatf Zahlf = 1.437f;
tempf = static_cast&lt;floatf&gt;(Zahlf) * 10.f;

std::coutf &lt;&lt; tempf &lt;&lt; std::endlf;
/* ausgabe:
1f4f.3f7f0f0f0f0f0
*/
</code></pre>
<p>knivil schrieb:</p>
<blockquote>
<p>Normalerweise vergleicht man Fliesskommazahlen nicht mit == .</p>
</blockquote>
<p>hat nix mit dem thema zu tun</p>
<p>Soley schrieb:</p>
<blockquote>
<p>Rechne doch einfach mit doubles, statt mit floats... die haben, wie der Name schon sagt, doppelte Genauigkeit <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>
</blockquote>
<p>wenn er sich an 1*10^-6 stört, wird ihm auch die doppelte genauigkeit nicht reichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2169633</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169633</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 18 Jan 2012 16:04:24 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Wed, 18 Jan 2012 16:25:58 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>knivil schrieb:</p>
<blockquote>
<p>Normalerweise vergleicht man Fliesskommazahlen nicht mit == .</p>
</blockquote>
<p>hat nix mit dem thema zu tun</p>
</blockquote>
<p>Doch, steht direkt im ersten Post. Er möchte seine Zahl vergleichen, und da stört die Ungenauigkeit. Daher ist ein Vergleich mit Epsilon die Lösung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2169650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169650</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 18 Jan 2012 16:25:58 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Wed, 18 Jan 2012 17:24:35 GMT]]></title><description><![CDATA[<p>Oder man nutzt einfach einen integer und merkt sich, wo das Komma ist. Ist zwar umständlich, aber dann genau und für mancherlei Arbeit vielleicht als Lösung zu überlegen. Meistens aber wahrscheinlich nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2169685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169685</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Wed, 18 Jan 2012 17:24:35 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Wed, 18 Jan 2012 22:12:04 GMT]]></title><description><![CDATA[<p>Eisflamme schrieb:</p>
<blockquote>
<p>Oder man nutzt einfach einen integer und merkt sich, wo das Komma ist. Ist zwar umständlich, aber dann genau und für mancherlei Arbeit vielleicht als Lösung zu überlegen. Meistens aber wahrscheinlich nicht.</p>
</blockquote>
<p>Wenn du weißt, wieviel Genauigkeit du brauchst (z.B. Geld), ist das die optimale Lösung. Andernfalls kann es schwierig werden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2169851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2169851</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 18 Jan 2012 22:12:04 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Thu, 19 Jan 2012 20:41:30 GMT]]></title><description><![CDATA[<p>Auch nett ist eine Klasse für Bruchzahlen und dafür einfach alle Operatoren überladen. Da kann man eine gewaltige Genauigkeit haben (2 uint64 zb), es ist von der Performance akzeptabel und leicht zu handhaben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170247</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170247</guid><dc:creator><![CDATA[Ethon__]]></dc:creator><pubDate>Thu, 19 Jan 2012 20:41:30 GMT</pubDate></item><item><title><![CDATA[Reply to Eine float-Zahl mit 10 multiplizieren on Thu, 19 Jan 2012 21:26:00 GMT]]></title><description><![CDATA[<p>Ethon__ schrieb:</p>
<blockquote>
<p>Auch nett ist eine Klasse für Bruchzahlen und dafür einfach alle Operatoren überladen. Da kann man eine gewaltige Genauigkeit haben (2 uint64 zb), es ist von der Performance akzeptabel und leicht zu handhaben.</p>
</blockquote>
<p>Rationale Zahlen zu implementieren ist nicht einfach. Denn der Trade-off zwischen Genauigkeit und maximal darstellbarem Zahlenbereich bei der Implementation über Zähler/Nenner ist meistens nicht das, was man haben will. Addierst du eine sehr große zahl zu einer Zahl mit großem Nenner, kann es sein, dass du Stellen _vor_ dem Komma durch Überläufe verlierst.</p>
<p>Die einzig wahre Darstellung ist damit Fixpunkt. Also 1 uint64 für die Zahlen vor dem Komma und 1 uint64 für die Nachkommastellen. Hat den Vorteil, dass du ein einfach zu berechnendes epsilon hast, erlöst dich aber nicht davor, dass es nicht darstellbare Zahlen gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2170275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2170275</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Thu, 19 Jan 2012 21:26:00 GMT</pubDate></item></channel></rss>