<?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[Konvertieren von int* nach float*]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss int* nach float* konvertieren, bekomme aber ganz andere Werte. Könnt ihr mir dabei helfen.</p>
<p>Das ist das Programmstuck:</p>
<p>int val = 203;<br />
int* intval = &amp;val;<br />
float* floatval = (float*)intval;</p>
<p>Ausgabe: floatval = 2.845e-043#DEN</p>
<p>Danke im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/302193/konvertieren-von-int-nach-float</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 15:14:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/302193.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Apr 2012 07:41:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 07:41:55 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich muss int* nach float* konvertieren, bekomme aber ganz andere Werte. Könnt ihr mir dabei helfen.</p>
<p>Das ist das Programmstuck:</p>
<p>int val = 203;<br />
int* intval = &amp;val;<br />
float* floatval = (float*)intval;</p>
<p>Ausgabe: floatval = 2.845e-043#DEN</p>
<p>Danke im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201436</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201436</guid><dc:creator><![CDATA[MimoseG]]></dc:creator><pubDate>Fri, 13 Apr 2012 07:41:55 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 08:00:53 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int val = 203;
float valfloat = val;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2201446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201446</guid><dc:creator><![CDATA[..]]></dc:creator><pubDate>Fri, 13 Apr 2012 08:00:53 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 08:05:57 GMT]]></title><description><![CDATA[<p>Oder wenn du unbedingt Pointer brauchst, dann so:</p>
<pre><code class="language-cpp">int ival = 203; 
    int* intval = &amp;ival; 
    float fval = ival;      // Oder float fval = *intval;
    float* floatval = &amp;fval;
</code></pre>
<p>Das Problem in deinem Code war naemlich, dass ein float-Zeiger und ein int-Zeiger nicht auf die gleiche Speicherstelle zeigen koennen. float und int koennen ja unterschiedlich gross sein. Deswegen brauchst du eine zusaetzliche Variable fval.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201448</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201448</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Fri, 13 Apr 2012 08:05:57 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 08:29:00 GMT]]></title><description><![CDATA[<p>icarus2 schrieb:</p>
<blockquote>
<p>Oder wenn du unbedingt Pointer brauchst, dann so:</p>
<pre><code class="language-cpp">int ival = 203; 
    int* intval = &amp;ival; 
    float fval = ival;      // Oder float fval = *intval;
    float* floatval = &amp;fval;
</code></pre>
<p>Das Problem in deinem Code war naemlich, dass ein float-Zeiger und ein int-Zeiger nicht auf die gleiche Speicherstelle zeigen koennen. float und int koennen ja unterschiedlich gross sein. Deswegen brauchst du eine zusaetzliche Variable fval.</p>
</blockquote>
<p>Danke. Das Problem ist nun (jetzt wird geschimpft), dass ich ein fertiges Programm ändern muss, in dem zwei Berechnungen entweder in CPU oder im Prozessor auf der Grafikkarte durchgeführt werden können. Da für die Grafikkarte (CUDA-Bibliothek) float-Werte und für CPU int-Werte benutzt werden und eine Menge von gemeinsamen Funktionen existiert, muss ich nun einen int* zum float* umwandeln und als Parameter an eine Funktion übergeben.</p>
<p>Somit ist &quot;float fval = ival;&quot; keine Lösung, denn *intval zum Zeitpunkt der Umwandlung bereits mit Inhalt ankommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201465</guid><dc:creator><![CDATA[MimoseG]]></dc:creator><pubDate>Fri, 13 Apr 2012 08:29:00 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 08:32:43 GMT]]></title><description><![CDATA[<p>Du kannst nicht einfach die Pointer casten wenn du eigentlich den Inhalt ändern willst. Dann muss du schon eben den Inhalt ändern...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201467</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Fri, 13 Apr 2012 08:32:43 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 08:53:15 GMT]]></title><description><![CDATA[<p>Vielen Dank für Lösungen. Ich habe das Problem anhand des Beispiels von icarus2 und Kommentar von dot gelöst, wo ich den Inhalt übergeben habe.</p>
<p>//alt<br />
int val = 203;<br />
int* intval = &amp;val;<br />
//neu<br />
float* floatval = new float();<br />
*floatval = fval;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201482</guid><dc:creator><![CDATA[MimoseG]]></dc:creator><pubDate>Fri, 13 Apr 2012 08:53:15 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 09:04:34 GMT]]></title><description><![CDATA[<p>Sorry, Fehler aufgetreten. Muss korrigieren</p>
<p>MimoseG schrieb:</p>
<blockquote>
<p>Vielen Dank für Lösungen. Ich habe das Problem anhand des Beispiels von icarus2 und Kommentar von dot gelöst, wo ich den Inhalt übergeben habe.</p>
<p>//alt<br />
int val = 203;<br />
int* intval = &amp;val;</p>
</blockquote>
<p>//neu<br />
float fval = intval[0];<br />
float* floatval = new float();<br />
*floatval = fval;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201490</guid><dc:creator><![CDATA[MimoseG]]></dc:creator><pubDate>Fri, 13 Apr 2012 09:04:34 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 09:05:59 GMT]]></title><description><![CDATA[<p>Bei</p>
<pre><code class="language-cpp">float* floatval = new float();
</code></pre>
<p>musst du dann allerdings dran denken, dass du floatval wieder mit delete freigeben musst. Das sollte man moeglichst vermeiden. Was ist denn an meiner Loesung oben nicht gut?</p>
<p>PS:<br />
Bitte benutze C++ Code-Tags, dann kann man deinen Code besser lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201492</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Fri, 13 Apr 2012 09:05:59 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 09:23:43 GMT]]></title><description><![CDATA[<p>icarus2 schrieb:</p>
<blockquote>
<p>Bei</p>
<pre><code class="language-cpp">float* floatval = new float();
</code></pre>
<p>musst du dann allerdings dran denken, dass du floatval wieder mit delete freigeben musst. Das sollte man moeglichst vermeiden. Was ist denn an meiner Loesung oben nicht gut?</p>
<p>PS:<br />
Bitte benutze C++ Code-Tags, dann kann man deinen Code besser lesen.</p>
</blockquote>
<p>Deine Lösung ist gut außer dem grünen Kommentar:-), das ich übersehen habe:-(</p>
<p>Danke für Hinweise. Ich muss aber das Thema jetzt beenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201505</guid><dc:creator><![CDATA[MimoseG]]></dc:creator><pubDate>Fri, 13 Apr 2012 09:23:43 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 09:28:45 GMT]]></title><description><![CDATA[<p>Was tut denn das <code>new float()</code> da <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Wieso nicht einfach mit einer Schleife über die int Werte laufen und float Werte rausschreiben? Ein simples</p>
<pre><code class="language-cpp">my_floats[i] = static_cast&lt;float&gt;(my_ints[i]);
</code></pre>
<p>sollte doch genau das tun was du willst!?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201506</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Fri, 13 Apr 2012 09:28:45 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 09:44:17 GMT]]></title><description><![CDATA[<p>Selbst den Cast brauchst du dann gar nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201517</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 13 Apr 2012 09:44:17 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertieren von int* nach float* on Fri, 13 Apr 2012 09:46:08 GMT]]></title><description><![CDATA[<p>stimmt, ein simples std::copy() sollt schon ausreichen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2201518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2201518</guid><dc:creator><![CDATA[dot]]></dc:creator><pubDate>Fri, 13 Apr 2012 09:46:08 GMT</pubDate></item></channel></rss>