<?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[geeigneter container?]]></title><description><![CDATA[<p>hi leute,</p>
<p>ich habe verschiedene float werte, welche ich gruppieren will.<br />
aus meinen berechnungen gehen float werte hervor und diesen gleichen werten will ich jeweils einen index zuweisen.</p>
<p>im moment verwende ich sowas in der art:</p>
<pre><code class="language-cpp">r = someval; //berechneter wert

typedef std::map&lt;float, int&gt; MyMap
MyMap mValues;
MyMap::iterator mIt;

if((mIt = mValues.find(r)) == mValues.end())
    mValues[r] = mValues.size();
</code></pre>
<p>ist das in ordnung so oder würdet ihr was anderes verwenden?</p>
<p>was ich tun muss:<br />
in weiterer folge bekomme ich float werte welche nicht unbedingt gleich den gespeicherten sind. dafür muss ich dann den am nächsten gelegenen float wert finden und dessen index verwenden.<br />
weiters muss ich mit gleichen float werten auch schnell auf den index zugreifen können.</p>
<p>ich bin mir nicht wirklich sicher ob das was ich aktuell habe so gut für mein vorhaben geeignet ist.<br />
könnt ihr mir etwas besseres vorschlagen?</p>
<p>jperl</p>
<p>ps: ja ich bin mir im klaren, dass direkte vergleiche mit gleitkommazahlen problematisch sind. deswegen frage ich ja auch nach.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/250744/geeigneter-container</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 21:43:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/250744.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Sep 2009 12:37:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to geeigneter container? on Wed, 23 Sep 2009 13:08:12 GMT]]></title><description><![CDATA[<p>hi leute,</p>
<p>ich habe verschiedene float werte, welche ich gruppieren will.<br />
aus meinen berechnungen gehen float werte hervor und diesen gleichen werten will ich jeweils einen index zuweisen.</p>
<p>im moment verwende ich sowas in der art:</p>
<pre><code class="language-cpp">r = someval; //berechneter wert

typedef std::map&lt;float, int&gt; MyMap
MyMap mValues;
MyMap::iterator mIt;

if((mIt = mValues.find(r)) == mValues.end())
    mValues[r] = mValues.size();
</code></pre>
<p>ist das in ordnung so oder würdet ihr was anderes verwenden?</p>
<p>was ich tun muss:<br />
in weiterer folge bekomme ich float werte welche nicht unbedingt gleich den gespeicherten sind. dafür muss ich dann den am nächsten gelegenen float wert finden und dessen index verwenden.<br />
weiters muss ich mit gleichen float werten auch schnell auf den index zugreifen können.</p>
<p>ich bin mir nicht wirklich sicher ob das was ich aktuell habe so gut für mein vorhaben geeignet ist.<br />
könnt ihr mir etwas besseres vorschlagen?</p>
<p>jperl</p>
<p>ps: ja ich bin mir im klaren, dass direkte vergleiche mit gleitkommazahlen problematisch sind. deswegen frage ich ja auch nach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1783044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1783044</guid><dc:creator><![CDATA[jperl]]></dc:creator><pubDate>Wed, 23 Sep 2009 13:08:12 GMT</pubDate></item><item><title><![CDATA[Reply to geeigneter container? on Wed, 23 Sep 2009 13:16:23 GMT]]></title><description><![CDATA[<p>jperl schrieb:</p>
<blockquote>
<p>hi leute,</p>
<p>ich habe verschiedene float werte, welche ich gruppieren will.<br />
aus meinen berechnungen gehen float werte hervor und diesen gleichen werten will ich jeweils einen index zuweisen.</p>
<p>im moment verwende ich sowas in der art:</p>
<pre><code class="language-cpp">r = someval; //berechneter wert

typedef std::map&lt;float, int&gt; MyMap
MyMap mValues;
MyMap::iterator mIt;

if((mIt = mValues.find(r)) == mValues.end())
    mValues[r] = mValues.size();
</code></pre>
<p>ist das in ordnung so oder würdet ihr was anderes verwenden?</p>
</blockquote>
<p>mValues.insert(make_pair(r,mValues.size())) erspart die Abfrage und ist effizienter.</p>
<p>jperl schrieb:</p>
<blockquote>
<p>was ich tun muss:<br />
in weiterer folge bekomme ich float werte welche nicht unbedingt gleich den gespeicherten sind. dafür muss ich dann den am nächsten gelegenen float wert finden und dessen index verwenden.<br />
weiters muss ich mit gleichen float werten auch schnell auf den index zugreifen können.</p>
</blockquote>
<p>lower_bound ist dein Freund.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1783060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1783060</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Wed, 23 Sep 2009 13:16:23 GMT</pubDate></item><item><title><![CDATA[Reply to geeigneter container? on Wed, 23 Sep 2009 13:59:06 GMT]]></title><description><![CDATA[<p>camper schrieb:</p>
<blockquote>
<p>jperl schrieb:</p>
<blockquote>
<p>hi leute,</p>
<p>ich habe verschiedene float werte, welche ich gruppieren will.<br />
aus meinen berechnungen gehen float werte hervor und diesen gleichen werten will ich jeweils einen index zuweisen.</p>
<p>im moment verwende ich sowas in der art:</p>
<pre><code class="language-cpp">r = someval; //berechneter wert

typedef std::map&lt;float, int&gt; MyMap
MyMap mValues;
MyMap::iterator mIt;

if((mIt = mValues.find(r)) == mValues.end())
    mValues[r] = mValues.size();
</code></pre>
<p>ist das in ordnung so oder würdet ihr was anderes verwenden?</p>
</blockquote>
<p>mValues.insert(make_pair(r,mValues.size())) erspart die Abfrage und ist effizienter.</p>
<p>jperl schrieb:</p>
<blockquote>
<p>was ich tun muss:<br />
in weiterer folge bekomme ich float werte welche nicht unbedingt gleich den gespeicherten sind. dafür muss ich dann den am nächsten gelegenen float wert finden und dessen index verwenden.<br />
weiters muss ich mit gleichen float werten auch schnell auf den index zugreifen können.</p>
</blockquote>
<p>lower_bound ist dein Freund.</p>
</blockquote>
<p>super danke.</p>
<p>jperl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1783071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1783071</guid><dc:creator><![CDATA[jperl]]></dc:creator><pubDate>Wed, 23 Sep 2009 13:59:06 GMT</pubDate></item><item><title><![CDATA[Reply to geeigneter container? on Wed, 23 Sep 2009 19:34:30 GMT]]></title><description><![CDATA[<p>Meine persönliche Meinung: float in map = problematisch.<br />
Könntest du nicht evtl. Fixkommazahlen verwenden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1783260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1783260</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 23 Sep 2009 19:34:30 GMT</pubDate></item><item><title><![CDATA[Reply to geeigneter container? on Thu, 24 Sep 2009 07:40:20 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Meine persönliche Meinung: float in map = problematisch.<br />
Könntest du nicht evtl. Fixkommazahlen verwenden?</p>
</blockquote>
<p>hm könnte ich evt. machen.<br />
wie komme ich auf eine fixkommazahl?</p>
<p>jperl</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1783408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1783408</guid><dc:creator><![CDATA[jperl]]></dc:creator><pubDate>Thu, 24 Sep 2009 07:40:20 GMT</pubDate></item><item><title><![CDATA[Reply to geeigneter container? on Thu, 24 Sep 2009 08:58:59 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">static int64_t const FixPointScale = 1000000; // 6 dezimale Kommastellen
static double const FixPointScaleDouble = FixPointScale;

double f = something();
int64_t fixPoint = static_cast&lt;int64_t&gt;(f * FixPointScaleDouble);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1783454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1783454</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 24 Sep 2009 08:58:59 GMT</pubDate></item></channel></rss>