<?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[Bytefolge einer variable anzeigen.]]></title><description><![CDATA[<p>Ja ich mal wieder,<br />
mit dem heutigen problem,</p>
<p>&quot;wie kriege ich eine direkte Byte folge verglichen und angezeigt&quot; <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="🙂"
    /><br />
Ich habe ein UDP (DHCP) Packet, welches Daten für das PXE-Request (BootP-Request) enthält.</p>
<p>jetz habe ich das problem, dass ich die MAC-Addresse, welche in Bytes vorliegt, nicht zusehen bekomme (somit auch nicht zwischenspeichern kann) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /><br />
(nur ein &quot; &gt;/#####&quot;) aber das ist nicht das was ich möchte sondern das:</p>
<pre><code>0000   00 0c 29 3e 18 5c | .......
</code></pre>
<p>habe auch folgendes getan:</p>
<pre><code>int Handle_BootFile_Request(int con, char * data)
{
    char cli_macaddress[6];
    char cli_vendoridnt[9];
    char cli_systemarch[1];

    memcpy(cli_macaddress,&amp;data[0x46],sizeof(cli_macaddress));
    memcpy(cli_vendoridnt,&amp;data[0x125],sizeof(cli_vendoridnt));

    cout &lt;&lt; &amp;cli_macaddress &lt;&lt; endl;

    return errno;
}

aber entweder steht garnichts da oder dieses komische sonderzeichen-zeugs =/
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/323489/bytefolge-einer-variable-anzeigen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 22:29:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/323489.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 01 Feb 2014 15:55:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bytefolge einer variable anzeigen. on Sat, 01 Feb 2014 15:56:15 GMT]]></title><description><![CDATA[<p>Ja ich mal wieder,<br />
mit dem heutigen problem,</p>
<p>&quot;wie kriege ich eine direkte Byte folge verglichen und angezeigt&quot; <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="🙂"
    /><br />
Ich habe ein UDP (DHCP) Packet, welches Daten für das PXE-Request (BootP-Request) enthält.</p>
<p>jetz habe ich das problem, dass ich die MAC-Addresse, welche in Bytes vorliegt, nicht zusehen bekomme (somit auch nicht zwischenspeichern kann) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /><br />
(nur ein &quot; &gt;/#####&quot;) aber das ist nicht das was ich möchte sondern das:</p>
<pre><code>0000   00 0c 29 3e 18 5c | .......
</code></pre>
<p>habe auch folgendes getan:</p>
<pre><code>int Handle_BootFile_Request(int con, char * data)
{
    char cli_macaddress[6];
    char cli_vendoridnt[9];
    char cli_systemarch[1];

    memcpy(cli_macaddress,&amp;data[0x46],sizeof(cli_macaddress));
    memcpy(cli_vendoridnt,&amp;data[0x125],sizeof(cli_vendoridnt));

    cout &lt;&lt; &amp;cli_macaddress &lt;&lt; endl;

    return errno;
}

aber entweder steht garnichts da oder dieses komische sonderzeichen-zeugs =/
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2381003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381003</guid><dc:creator><![CDATA[LipkeGu]]></dc:creator><pubDate>Sat, 01 Feb 2014 15:56:15 GMT</pubDate></item><item><title><![CDATA[Reply to Bytefolge einer variable anzeigen. on Sat, 01 Feb 2014 16:32:12 GMT]]></title><description><![CDATA[<p>Du meinst also binär?<br />
Hier ein Beispiel:</p>
<pre><code>int bin = 3;
for (int i = sizeof (bin) * 8 - 1; i &gt;= 0; i++)
{
    if (bin &amp; (1 &lt;&lt; i))
        std::cout &lt;&lt; &quot;1&quot;;
    else
        std::cout &lt;&lt; &quot;0&quot;;
}
</code></pre>
<p>Wird ausgeben: 00000000000000000000000000000011<br />
(Ich hoffe ich hab mich nicht vertippt :D)</p>
<p>Also:<br />
sizeof() gibt ja bekanntlich die Größe der Variable in Bytes zurück.<br />
Wir wollen aber die Bits.<br />
Deswegen multiplizieren wir es mit 8.<br />
Dann müssen wir davon noch 1 abziehen, da Bits bei 0 anfangen.<br />
Mit i-- iterieren wir einfach durch alle Bits.</p>
<p>&amp; Ist ein bitweises UND. Also es gibt uns wahr zurück wenn das Bit gesetzt ist.<br />
&lt;&lt; ist der Shiftoperator der 1 um die Anzahl Bits verschiebt, welches wir benötigen, sodass dann das linke Bit das ist, welches geprüft werden soll.<br />
Dies macht dann das bitweise UND und wenn es wahr ist geben wir &quot;1&quot; aus, wenn nicht dann &quot;0&quot;.<br />
Ich hoffe es war verständlich <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>
<p>Edit: Ach, du wolltest es hexadezimal. Naja, kann man ja umwandeln, aber dann kannst du ja cauch direkt dezimal in hexadezimal umwandeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381004</guid><dc:creator><![CDATA[coder++]]></dc:creator><pubDate>Sat, 01 Feb 2014 16:32:12 GMT</pubDate></item><item><title><![CDATA[Reply to Bytefolge einer variable anzeigen. on Sat, 01 Feb 2014 16:51:22 GMT]]></title><description><![CDATA[<p>nein nicht in Bits, ich meine Bytes <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>ich schätzemal, dass es nicht so verständlich war, ich meine dass ich ne variable habe wo dann die MAC-drin steht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /></p>
<pre><code>char * macadress[6] = 00 0c 02 ...;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2381007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381007</guid><dc:creator><![CDATA[LipkeGu]]></dc:creator><pubDate>Sat, 01 Feb 2014 16:51:22 GMT</pubDate></item><item><title><![CDATA[Reply to Bytefolge einer variable anzeigen. on Sat, 01 Feb 2014 16:56:57 GMT]]></title><description><![CDATA[<p>Aber das macht ja keinen unterschied.<br />
Wandle die Bits einfach in hexadezimale Zahlen um ODER wandle direkt die ASCII-Zeichen in hexadezimale Zeichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381010</guid><dc:creator><![CDATA[coder++]]></dc:creator><pubDate>Sat, 01 Feb 2014 16:56:57 GMT</pubDate></item><item><title><![CDATA[Reply to Bytefolge einer variable anzeigen. on Sat, 01 Feb 2014 17:13:45 GMT]]></title><description><![CDATA[<p>Ja, würde ich wenn ich wüsste wie.. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381013</guid><dc:creator><![CDATA[LipkeGu]]></dc:creator><pubDate>Sat, 01 Feb 2014 17:13:45 GMT</pubDate></item><item><title><![CDATA[Reply to Bytefolge einer variable anzeigen. on Sat, 01 Feb 2014 17:27:41 GMT]]></title><description><![CDATA[<pre><code>#include &lt;cstdio&gt;

int main()
{
	int i = 34523452;

	auto p = reinterpret_cast&lt;const unsigned char*&gt;(&amp;i);
	for (auto q = p; q != p + sizeof i; ++q)
	{
		std::printf(&quot;%02X &quot;, static_cast&lt;unsigned&gt;(*q));
	}
}
</code></pre>
<p><a href="https://ideone.com/ZTZ9CT" rel="nofollow">https://ideone.com/ZTZ9CT</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381017</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Sat, 01 Feb 2014 17:27:41 GMT</pubDate></item><item><title><![CDATA[Reply to Bytefolge einer variable anzeigen. on Sat, 01 Feb 2014 17:49:32 GMT]]></title><description><![CDATA[<p>cooky, warum nicht</p>
<pre><code>int i = 34523452;

	do std::printf(&quot;%02X &quot;, i &amp; 255);
	while( i &gt;&gt;= 8 );
</code></pre>
<p>Das ganze soll doch nicht etwa Endianness-abhängig ausgegeben werden?<br />
Edit: ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381022</guid><dc:creator><![CDATA[Columbo]]></dc:creator><pubDate>Sat, 01 Feb 2014 17:49:32 GMT</pubDate></item><item><title><![CDATA[Reply to Bytefolge einer variable anzeigen. on Sat, 01 Feb 2014 17:47:59 GMT]]></title><description><![CDATA[<p>Iiih, printf. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381024</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sat, 01 Feb 2014 17:47:59 GMT</pubDate></item><item><title><![CDATA[Reply to Bytefolge einer variable anzeigen. on Sat, 01 Feb 2014 18:02:06 GMT]]></title><description><![CDATA[<p>resultiert in 00:00:00:00:00:00:</p>
<pre><code>unsigned char* p = reinterpret_cast&lt;unsigned char*&gt;(&amp;cli_macaddress);
    for (unsigned char* q = p; q != p + sizeof(cli_macaddress); ++q)
    {

        std::printf(&quot;%02X:&quot;, static_cast&lt;unsigned&gt;(*q));
    }
</code></pre>
<p>* Format stimmt ja schonmal ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /></p>
<p>vorallem ist &quot;cli_macaddress&quot; ja char und nicht int <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title="=("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2381028</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2381028</guid><dc:creator><![CDATA[LipkeGu]]></dc:creator><pubDate>Sat, 01 Feb 2014 18:02:06 GMT</pubDate></item></channel></rss>