<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Simple C Frage</title>
    <link>http://forum.geizhals.at/feed.jsp?id=605156</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re: Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5138121.html#5138121</link>
      <description>Das Problem von Integer und Float, sonst nix. Du versuchst zwei heterogene Datentypen miteinander zu verheiraten. Du hast eine double und versuchst durch eine Integerkonstante zu dividieren (ich denk mal FELDLAENGE wird 'ne Konstante sein die einen INtegerwert darstellt).&lt;br&gt;&lt;br&gt;Im Endeffekt ist auch mit 1.0 noch nicht wirklich "sauber". C ist lediglich intelligent genug das Ergebnis von const int - const float zu einem float zu verwandeln. Und dann klappt auch die Division.&lt;br/&gt;</description>
      <pubDate>Fri, 14 Nov 2008 15:55:16 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5138121.html#5138121</guid>
      <dc:creator>Fly</dc:creator>
      <dc:date>2008-11-14T15:55:16Z</dc:date>
    </item>
    <item>
      <title>Re(2): Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5137879.html#5137879</link>
      <description>ich habe jetzt den code nochmal angesehen und es ist doch kein double wie oben angemerkt. es müsste sich daher um eine durch das 1.0 erzwungene typkonversion handeln.&lt;br&gt;&lt;br&gt;also double = long/(FELDLAENGE-1.0) wobei FELDLAENGE eine präprozessorkonstante mit einem einzustellenden positiven wert ist.&lt;br&gt;&lt;br&gt;danke für die ausführliche erklärung.&lt;br/&gt;</description>
      <pubDate>Fri, 14 Nov 2008 14:14:30 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5137879.html#5137879</guid>
      <dc:creator>patos</dc:creator>
      <dc:date>2008-11-14T14:14:30Z</dc:date>
    </item>
    <item>
      <title>Re: Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5137867.html#5137867</link>
      <description>Um das zu erklären müsste man schon den Code vorliegen haben bzw. die konkreten Werte von anderevariable und FELDLAENGE wissen. Wenn die 1.0 dazu führt dass der ganze Ausdruck sich von int zu float wandelt, dann ist der Unterschied klar, denn in C ist 5/(3-1) eben 2 und nicht 2.5. 5/(3-1.0) ist aber 2.5 da das 1.0 aus der 3 eine 2.0 macht und 5/2.0 dann eben 2.5 wird, sprich der float Typ gewinnt gegenüber dem int Typ, aus einer reinen int-Rechnung wird aber kein float bloss weils nicht aufgeht.&lt;br&gt;&lt;br&gt;Bei dir muss wohl eine ähnlich gelagerte Typkonversion stattfinden da zwischen 1 und 1.0 ausser dem Typ kein Unterschied besteht.&lt;br/&gt;</description>
      <pubDate>Fri, 14 Nov 2008 14:09:00 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5137867.html#5137867</guid>
      <dc:creator>juwb</dc:creator>
      <dc:date>2008-11-14T14:09:00Z</dc:date>
    </item>
    <item>
      <title>Re(2): Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5137852.html#5137852</link>
      <description>die andere variabel ist schon ein double, warum müsste ich also eine typumwandlung machen? kann man nicht double durch int/long dividieren?&lt;br/&gt;</description>
      <pubDate>Fri, 14 Nov 2008 14:01:25 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5137852.html#5137852</guid>
      <dc:creator>patos</dc:creator>
      <dc:date>2008-11-14T14:01:25Z</dc:date>
    </item>
    <item>
      <title>Re(5): Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5137408.html#5137408</link>
      <description>genau, er würde beide dann als int annehmen, was eben zu diesen problemen führt.&lt;br/&gt;</description>
      <pubDate>Fri, 14 Nov 2008 11:20:18 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5137408.html#5137408</guid>
      <dc:creator>morph1</dc:creator>
      <dc:date>2008-11-14T11:20:18Z</dc:date>
    </item>
    <item>
      <title>Re(4): Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5137217.html#5137217</link>
      <description>achso (FELDLAENGE ) ist auch ein int...&lt;br&gt;&lt;br&gt;also float = int/int...&lt;br&gt;&lt;br&gt;dann ist mir klar was passiert...&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Fri, 14 Nov 2008 10:17:31 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5137217.html#5137217</guid>
      <dc:creator>adhoc</dc:creator>
      <dc:date>2008-11-14T10:17:31Z</dc:date>
    </item>
    <item>
      <title>Re(4): Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5137218.html#5137218</link>
      <description>achso (anderevariabel) ist auch ein int...&lt;br&gt;&lt;br&gt;also float = int/int...&lt;br&gt;&lt;br&gt;dann ist mir klar was passiert...&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Fri, 14 Nov 2008 10:17:31 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5137218.html#5137218</guid>
      <dc:creator>adhoc</dc:creator>
      <dc:date>2008-11-14T10:17:31Z</dc:date>
    </item>
    <item>
      <title>Re(3): Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5137200.html#5137200</link>
      <description>&lt;a href="http://de.wikipedia.org/wiki/Typumwandlung" rel="noopener" target="_blank"&gt;http:/&lt;wbr/&gt;/&lt;wbr/&gt;de.wikipedia.org/&lt;wbr/&gt;wiki/&lt;wbr/&gt;Typumwandlung&lt;/a&gt; &lt;br&gt;&lt;br&gt;-&gt; Implizite Typumwandlung -&gt; Beispiel aus Java&lt;br&gt;(ist genau dasselbe)&lt;br/&gt;</description>
      <pubDate>Fri, 14 Nov 2008 10:12:36 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5137200.html#5137200</guid>
      <dc:creator>Somnatic</dc:creator>
      <dc:date>2008-11-14T10:12:36Z</dc:date>
    </item>
    <item>
      <title>Re(2): Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5137031.html#5137031</link>
      <description>aber wieso rechnet er (sonst) falsch??&lt;br&gt;&lt;br&gt;darf man in C einen float nicht durch einen int dividieren &lt;br&gt;und wenn nein, warum nicht (bzw. was passiert da?!?)&lt;br&gt;&lt;br&gt;in (jeder?) anderer programmiersprache wäre das kein problem ...&lt;br&gt;&lt;br&gt;&lt;br/&gt;</description>
      <pubDate>Fri, 14 Nov 2008 09:12:47 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5137031.html#5137031</guid>
      <dc:creator>adhoc</dc:creator>
      <dc:date>2008-11-14T09:12:47Z</dc:date>
    </item>
    <item>
      <title>Re: Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5136680.html#5136680</link>
      <description>wie im vorigen post:&lt;br&gt;&lt;br&gt;mit - 1.0 geht der compiler von einem float aus.&lt;br&gt;&lt;br&gt;besser wäre ein impliziter typecast mit (float) oder (double).&lt;br&gt;&lt;br&gt;variable = (double)anderevariabel/(double)(FELDLAENGE -1);&lt;br&gt;&lt;br&gt;richtet sich nach den anderen variablentypen&lt;br/&gt;</description>
      <pubDate>Thu, 13 Nov 2008 23:49:23 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5136680.html#5136680</guid>
      <dc:creator>morph1</dc:creator>
      <dc:date>2008-11-13T23:49:23Z</dc:date>
    </item>
    <item>
      <title>Re: Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5136624.html#5136624</link>
      <description>Ich bin auch kein C-Guru, aber der Unterschied ist, das FELDLAENGE wohl ein Integer ist, und bei (FELDLAENGE - 1.0) das Ergebnis kein int ist, weil eine Typkonversion stattfindet (1.0 ist ja kein int).&lt;br/&gt;</description>
      <pubDate>Thu, 13 Nov 2008 22:57:58 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5136624.html#5136624</guid>
      <dc:creator>komplexler</dc:creator>
      <dc:date>2008-11-13T22:57:58Z</dc:date>
    </item>
    <item>
      <title>Simple C Frage</title>
      <link>http://forum.geizhals.at/t605156,5136600.html#5136600</link>
      <description>ich habe gerade was sehr stranges in einem programm beobachtet. &lt;br&gt;&lt;br&gt;was ich will: eine double durch die (feldlänge minus 1) dividieren. ich gehe hin und schreibe &lt;br&gt;&lt;br&gt;variable = (anderevariabel)/(FELDLAENGE -1);&lt;br&gt;&lt;br&gt;der compiler beschwert sich nicht, das programm wird ausgeführt,&amp;nbsp;&amp;nbsp;die ergebnisse aber sind sehr sehr komisch. dann sehe ich irgendwo im netz, dass der dekrement mit 1.0 gemacht wird. dann probiere ich es:&lt;br&gt;&lt;br&gt;variable = (anderevariabel)/(FELDLAENGE -1.0);&lt;br&gt;&lt;br&gt;und plötzlich wird alles korrekt gerechnet. &lt;img src="surprise.gif" width="16" height="19" align="absmiddle" alt="8-O"/&gt; ich muss sofort ans hirn greifen. was versteht C unter 1 ? und wie unterscheidet es sich von 1.0?&lt;br&gt;&lt;br&gt;danke und sorry falls die frage dämlich ist, ich bin C neuling.&lt;br/&gt;</description>
      <pubDate>Thu, 13 Nov 2008 22:41:43 GMT</pubDate>
      <guid>http://forum.geizhals.at/t605156,5136600.html#5136600</guid>
      <dc:creator>patos</dc:creator>
      <dc:date>2008-11-13T22:41:43Z</dc:date>
    </item>
  </channel>
</rss>
