<?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[Float Binärdarstellung als int interpretieren??]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem.<br />
Ich habe eine Fließkommazahl als Float gegeben. Und nun möchte ich an deren Binärdarstellung kommen, um diese dann mit einer bijektiven Abbildung in ein Integer zu verwandeln. Um dies aber tun zu können muss ich an die Binärdarstellung kommen.<br />
Wie kann ich das in C++ realisieren?</p>
<p>Danke für eure Hilfe<br />
floriank</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/177318/float-binärdarstellung-als-int-interpretieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 21 Sep 2026 09:27:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/177318.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Mar 2007 09:23:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Fri, 30 Mar 2007 09:23:43 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem.<br />
Ich habe eine Fließkommazahl als Float gegeben. Und nun möchte ich an deren Binärdarstellung kommen, um diese dann mit einer bijektiven Abbildung in ein Integer zu verwandeln. Um dies aber tun zu können muss ich an die Binärdarstellung kommen.<br />
Wie kann ich das in C++ realisieren?</p>
<p>Danke für eure Hilfe<br />
floriank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255848</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255848</guid><dc:creator><![CDATA[floriank]]></dc:creator><pubDate>Fri, 30 Mar 2007 09:23:43 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Fri, 30 Mar 2007 09:25:34 GMT]]></title><description><![CDATA[<p>Das Zauberwort heißt &quot;reinterpret_cast&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255849</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 30 Mar 2007 09:25:34 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Fri, 30 Mar 2007 09:25:35 GMT]]></title><description><![CDATA[<p>den pointer zu deinem float auf einen int* casten und dann hast du quasi die binaerdarstellung als int.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255850</guid><dc:creator><![CDATA[rapso]]></dc:creator><pubDate>Fri, 30 Mar 2007 09:25:35 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Fri, 30 Mar 2007 11:08:56 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>das mit dem reinterpret_cast funktioniert bei mir nicht. Ich bekomme immer die Fehlermeldung, daß ein float nicht in ein unsigned int* umgewandelt werden kann (geht auch nicht in ein unsigned int, int oder ein int* usw.).<br />
Muss ich noch irgendetwas extra einbinden?</p>
<p>floriank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255912</guid><dc:creator><![CDATA[floriank]]></dc:creator><pubDate>Fri, 30 Mar 2007 11:08:56 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Fri, 30 Mar 2007 11:14:07 GMT]]></title><description><![CDATA[<p>eine Zeile Code sagt mehr als 1000 worte.... Poste doch mal die Zeile wo Du versuchst float nach int zu casten...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255916</guid><dc:creator><![CDATA[skals]]></dc:creator><pubDate>Fri, 30 Mar 2007 11:14:07 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Fri, 30 Mar 2007 11:15:03 GMT]]></title><description><![CDATA[<p>reinterpret_cast klappt am besten mit Zeigern:</p>
<pre><code class="language-cpp">float fval = 3.14f
int* pival = reinterpret_cast&lt;int*&gt;(&amp;fval);

cout &lt;&lt; fval &lt;&lt;&quot;=&quot;&lt;&lt;*pival&lt;&lt;&quot;(&quot;&lt;&lt;hex&lt;&lt;*pival&lt;&lt;&quot;)&quot;;
</code></pre>
<p>(PS: Eventuell mußt du statt int short verwenden, um die richtige Größe zu treffen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1255918</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1255918</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 30 Mar 2007 11:15:03 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Fri, 30 Mar 2007 18:05:26 GMT]]></title><description><![CDATA[<p>Vielen Dank.</p>
<p>Ich hatte das &quot;&amp;&quot; nicht mit geschrieben und deshalb hat es nicht funktioniert. Jetzt scheint es zu klappen.</p>
<p>Ob es genau das macht, was ich möchte, werde ich sehen, wenn ich weiter gekommen bin.</p>
<p>Danke nochmals<br />
floriank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1256227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1256227</guid><dc:creator><![CDATA[floriank]]></dc:creator><pubDate>Fri, 30 Mar 2007 18:05:26 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Mon, 09 Apr 2007 08:12:17 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich dachte, ich hätte es nun gelöst, aber anscheinend klappt es immer noch nicht.<br />
Also ich möchte folgendes machen. Ich habe einen float. Diesen möchte ich als unsigned int interpretieren und noch etwas an den Bits verändern:<br />
Falls dieser positiv ist, möchte ich das vorderste Bit umdrehen (also aus einer 0 eine 1 machen). Falls er negativ ist, möchte ich alles Bits umdrehen. Dadurch erreiche ich eine komplett sortierte Reihenfolge, wobei der kleinste Wert auch wirklich ganz unten steht und der größte oben (und -0 kommt direkt vor +0).<br />
Allerdings scheint es nicht so wirklich zu klappen.</p>
<p>Hier ist mein Versuch:</p>
<pre><code class="language-cpp">unsigned int* konvertierung(float original)
{

	unsigned int* o;
	if (original &gt; 0 )
	{
		original *= (-1) ;
		o = reinterpret_cast&lt;unsigned int*&gt;(&amp;original);
		printf(&quot;%f    %u \n&quot;,original, o);
	}
	else
	{
		o = reinterpret_cast&lt;unsigned int*&gt;(&amp;original);
		o[0]=~o[0];
	}

	return(o);
}
</code></pre>
<p>Da ich momentan nur mit positiven Zahlen teste, habe ich mir auch nur diese ausgeben lassen.<br />
Leider bekomme ich beim unsigned int immer den gleichen Wert: 1244272.</p>
<p>Kann mir dabei jemand helfen?</p>
<p>Danke<br />
floriank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262064</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262064</guid><dc:creator><![CDATA[floriank]]></dc:creator><pubDate>Mon, 09 Apr 2007 08:12:17 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Mon, 09 Apr 2007 10:59:20 GMT]]></title><description><![CDATA[<p>bist du dir sicher, dass es der wert, und nicht die adresse ist? bei so einer schrägen funktion muss man aber echt aufpassen, um die richtig anzuwenden^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262149</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Mon, 09 Apr 2007 10:59:20 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Mon, 09 Apr 2007 13:02:39 GMT]]></title><description><![CDATA[<p>Andrey schrieb:</p>
<blockquote>
<p>bist du dir sicher, dass es der wert, und nicht die adresse ist? bei so einer schrägen funktion muss man aber echt aufpassen, um die richtig anzuwenden^^</p>
</blockquote>
<p>Danke für den Tipp. Es war die Adresse. Ich habe vergessen &quot;*&quot; vor meinen Zeiger bei der Ausgabe zu schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262242</guid><dc:creator><![CDATA[floriank]]></dc:creator><pubDate>Mon, 09 Apr 2007 13:02:39 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Mon, 09 Apr 2007 13:13:23 GMT]]></title><description><![CDATA[<p>na siehste, geht doch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262256</guid><dc:creator><![CDATA[Andrey]]></dc:creator><pubDate>Mon, 09 Apr 2007 13:13:23 GMT</pubDate></item><item><title><![CDATA[Reply to Float Binärdarstellung als int interpretieren?? on Wed, 25 Apr 2007 08:19:44 GMT]]></title><description><![CDATA[<p>Mit nem einfachen memcpy lässt kann man auch zur Bit-Darstellung kommen. Ich hatte mit diesem Cast unter bestimmten Umständen Probleme und bin dann zum memcpy übergegangen:</p>
<pre><code>float f_value = 234.34f;  
unsigned long value = 0;  
memcpy(&amp;value, &amp;f_value, sizeof(float));
</code></pre>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1272977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1272977</guid><dc:creator><![CDATA[Thomas2232]]></dc:creator><pubDate>Wed, 25 Apr 2007 08:19:44 GMT</pubDate></item></channel></rss>