<?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[Umwandeln einer u_int Ip adresse]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich suche nach einer Methode eine als u_int vorliegende IP Adresse umzuwandeln. Da je eine IP aaa.bbb.ccc.ddd so berechnet wird <strong>a+256*b+256*256*c+256+256+256*d</strong> kann ich mit diesem Wert aus Sortiertechnischen Gründen nichts anfangen. Dieser u_int Wert bildet aber meine Ausgangsposition und soll in einen u_init Wert gewandelt werden der aufgelöst so aussieht <strong>256*256*256*a+256*256*b+256*c+d</strong><br />
meine Fuktion die soweit funktioniert sieht so aus:</p>
<pre><code class="language-cpp">u_int Convert_IP(u_int ip){

	int	a,b,c,d;

	help = ip;
	d = (int)(ip/16777216);				//x.x.x.d
	ip -= d*16777216;
	c = (int)(ip/65536);				//x.x.c.x
	ip -= c*65536;
	b = (int)(ip/256);				//x.b.x.x
	ip -= b*256;
	a = (int)ip;					//a.x.x.x
	ip = a*16777216 + b*65536 + c*256 + d;
	return(ip);
}
</code></pre>
<p>Wie würdet ihr diese Umwandlung durchführen, mit einem auf Geschwindigkeit optimierten Code?</p>
<p>Gruß Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/211423/umwandeln-einer-u_int-ip-adresse</link><generator>RSS for Node</generator><lastBuildDate>Fri, 26 Jun 2026 10:46:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/211423.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 23 Apr 2008 04:46:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Umwandeln einer u_int Ip adresse on Wed, 23 Apr 2008 04:46:58 GMT]]></title><description><![CDATA[<p>Hallo Leute,<br />
ich suche nach einer Methode eine als u_int vorliegende IP Adresse umzuwandeln. Da je eine IP aaa.bbb.ccc.ddd so berechnet wird <strong>a+256*b+256*256*c+256+256+256*d</strong> kann ich mit diesem Wert aus Sortiertechnischen Gründen nichts anfangen. Dieser u_int Wert bildet aber meine Ausgangsposition und soll in einen u_init Wert gewandelt werden der aufgelöst so aussieht <strong>256*256*256*a+256*256*b+256*c+d</strong><br />
meine Fuktion die soweit funktioniert sieht so aus:</p>
<pre><code class="language-cpp">u_int Convert_IP(u_int ip){

	int	a,b,c,d;

	help = ip;
	d = (int)(ip/16777216);				//x.x.x.d
	ip -= d*16777216;
	c = (int)(ip/65536);				//x.x.c.x
	ip -= c*65536;
	b = (int)(ip/256);				//x.b.x.x
	ip -= b*256;
	a = (int)ip;					//a.x.x.x
	ip = a*16777216 + b*65536 + c*256 + d;
	return(ip);
}
</code></pre>
<p>Wie würdet ihr diese Umwandlung durchführen, mit einem auf Geschwindigkeit optimierten Code?</p>
<p>Gruß Klaus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1496554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1496554</guid><dc:creator><![CDATA[Klaus..]]></dc:creator><pubDate>Wed, 23 Apr 2008 04:46:58 GMT</pubDate></item><item><title><![CDATA[Reply to Umwandeln einer u_int Ip adresse on Wed, 23 Apr 2008 04:48:59 GMT]]></title><description><![CDATA[<p>Klaus.. schrieb:</p>
<blockquote>
<pre><code class="language-cpp">help = ip;
</code></pre>
</blockquote>
<p>ist natürlich Quatsch, war nur für Testzwecke drin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1496556</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1496556</guid><dc:creator><![CDATA[Klaus..]]></dc:creator><pubDate>Wed, 23 Apr 2008 04:48:59 GMT</pubDate></item><item><title><![CDATA[Reply to Umwandeln einer u_int Ip adresse on Wed, 23 Apr 2008 09:28:28 GMT]]></title><description><![CDATA[<p>Da es alles schön 2er potenzen sind, sind die bitweisen operatoren besser und schneller.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1496681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1496681</guid><dc:creator><![CDATA[lagalopex]]></dc:creator><pubDate>Wed, 23 Apr 2008 09:28:28 GMT</pubDate></item><item><title><![CDATA[Reply to Umwandeln einer u_int Ip adresse on Wed, 23 Apr 2008 09:46:52 GMT]]></title><description><![CDATA[<p>also sowas hier:</p>
<pre><code class="language-cpp">DWORD ip = ...;

DWORD a = (ip &amp; 0xFF000000) &gt;&gt; 24;
DWORD b = (ip &amp; 0x00FF0000) &gt;&gt; 16;
DWORD c = (ip &amp; 0x0000FF00) &gt;&gt; 8;
DWORD d = (ip &amp; 0x000000FF);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1496702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1496702</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Wed, 23 Apr 2008 09:46:52 GMT</pubDate></item><item><title><![CDATA[Reply to Umwandeln einer u_int Ip adresse on Wed, 23 Apr 2008 09:53:18 GMT]]></title><description><![CDATA[<p>Ich meinte auch das zusammensetzen bitweise</p>
<pre><code class="language-cpp">u_int32_t res;

	res = (ip &gt;&gt; 24) &amp; 0x000000ff;
	res |= (ip &gt;&gt; 8) &amp; 0x0000ff00;
	res |= (ip &lt;&lt; 8) &amp; 0x00ff0000;
	res |= (ip &lt;&lt; 24) &amp; 0xff000000;
</code></pre>
<p>Wichtig ist halt dass es immer 32-bit werte sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1496707</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1496707</guid><dc:creator><![CDATA[lagalopex]]></dc:creator><pubDate>Wed, 23 Apr 2008 09:53:18 GMT</pubDate></item><item><title><![CDATA[Reply to Umwandeln einer u_int Ip adresse on Wed, 23 Apr 2008 10:53:43 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-1581.html" rel="nofollow">Jester</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-43.html" rel="nofollow">Mathematik</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-8.html" rel="nofollow">Rund um die Programmierung</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1496735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1496735</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 23 Apr 2008 10:53:43 GMT</pubDate></item><item><title><![CDATA[Reply to Umwandeln einer u_int Ip adresse on Wed, 23 Apr 2008 16:18:47 GMT]]></title><description><![CDATA[<p>nimm einfach htonl.<br />
--&gt; <a href="http://www.opengroup.org/onlinepubs/007908799/xns/htonl.html" rel="nofollow">http://www.opengroup.org/onlinepubs/007908799/xns/htonl.html</a><br />
<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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1497016</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1497016</guid><dc:creator><![CDATA[umkehr-freak]]></dc:creator><pubDate>Wed, 23 Apr 2008 16:18:47 GMT</pubDate></item><item><title><![CDATA[Reply to Umwandeln einer u_int Ip adresse on Wed, 23 Apr 2008 16:56:52 GMT]]></title><description><![CDATA[<p>Danke für die Antworten ich habe jetzt die Verschiebefunktion genommen und es funktioniert einwandfrei.</p>
<p>@umkehr-freak<br />
ah! gibt sogar eine fertige Funktion dafür, muss man halt nur wissen. Da ich nicht weis was schneller ist nehem ich jetzt mal die Verschiebemethode, warscheinlich arbeitet htonl genauso.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1497038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1497038</guid><dc:creator><![CDATA[Klaus..]]></dc:creator><pubDate>Wed, 23 Apr 2008 16:56:52 GMT</pubDate></item></channel></rss>