<?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[Problem mit std::memcpy]]></title><description><![CDATA[<p>Hallo,<br />
ich wollte folgenden Code bei mir zum laufen bringen. Ich weis, dass ich das auch einfacher ohne memcpy schreiben kann. Mir geht es aber darum zu verstehen, warum der Code unten nicht funktioniert (auf meinem System: unsigned int = 32bit, unsigned long long = 64 bit, little endian). Meiner Meinung nach sollten die 4 oberen byte von i64 in high kopiert werden und in high sollte dann 2 stehen. Tatsächlich steht in high aber irgend eine Abfolge von bits (1967614884). Sieht jemand, wo mein Fehler liegt?</p>
<pre><code class="language-cpp">unsigned long long i64 = 0x0000000200000000ULL;
unsigned int high;
std::memcpy( &amp;high, &amp;i64 + sizeof(unsigned int), sizeof(unsigned int) );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/276111/problem-mit-std-memcpy</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 11:47:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/276111.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 27 Oct 2010 08:45:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit std::memcpy on Wed, 27 Oct 2010 08:45:10 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich wollte folgenden Code bei mir zum laufen bringen. Ich weis, dass ich das auch einfacher ohne memcpy schreiben kann. Mir geht es aber darum zu verstehen, warum der Code unten nicht funktioniert (auf meinem System: unsigned int = 32bit, unsigned long long = 64 bit, little endian). Meiner Meinung nach sollten die 4 oberen byte von i64 in high kopiert werden und in high sollte dann 2 stehen. Tatsächlich steht in high aber irgend eine Abfolge von bits (1967614884). Sieht jemand, wo mein Fehler liegt?</p>
<pre><code class="language-cpp">unsigned long long i64 = 0x0000000200000000ULL;
unsigned int high;
std::memcpy( &amp;high, &amp;i64 + sizeof(unsigned int), sizeof(unsigned int) );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1971288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971288</guid><dc:creator><![CDATA[ChubAKA]]></dc:creator><pubDate>Wed, 27 Oct 2010 08:45:10 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit std::memcpy on Wed, 27 Oct 2010 09:11:29 GMT]]></title><description><![CDATA[<p>Zeiger werden bei der Addition mit <code>int</code> elementweise erhöht, nicht Byte-weise.<br />
Es müsste also heißen:</p>
<pre><code class="language-cpp">reinterpret_cast&lt;char *&gt;(&amp;i64) + sizeof(unsigned int)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1971298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971298</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Wed, 27 Oct 2010 09:11:29 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit std::memcpy on Wed, 27 Oct 2010 09:52:27 GMT]]></title><description><![CDATA[<p>Nur der Vollstaendigkeit wegen: Der Weg ueber <code>union</code> ist wohl besser.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971320</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 27 Oct 2010 09:52:27 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit std::memcpy on Wed, 27 Oct 2010 10:16:14 GMT]]></title><description><![CDATA[<p>knivil schrieb:</p>
<blockquote>
<p>Nur der Vollstaendigkeit wegen: Der Weg ueber <code>union</code> ist wohl besser.</p>
</blockquote>
<p>Und undefiniert ...</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971329</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 27 Oct 2010 10:16:14 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit std::memcpy on Wed, 27 Oct 2010 18:25:30 GMT]]></title><description><![CDATA[<p>TyRoXx schrieb:</p>
<blockquote>
<p>Zeiger werden bei der Addition mit <code>int</code> elementweise erhöht, nicht Byte-weise.<br />
Es müsste also heißen:</p>
<pre><code class="language-cpp">reinterpret_cast&lt;char *&gt;(&amp;i64) + sizeof(unsigned int)
</code></pre>
</blockquote>
<p>Warum nicht gleich</p>
<pre><code class="language-cpp">reinterpret_cast&lt;unsigned int*&gt;(&amp;i64) + 1
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971662</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Wed, 27 Oct 2010 18:25:30 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit std::memcpy on Wed, 27 Oct 2010 19:35:23 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23670">@wxSkip</a><br />
Das ist ne gute Frage. Welche Variante würdest du denn wählen? (abgesehen davon, dass man einfach (unsigned int)(i64&gt;&gt;32) schreiben könnte)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1971708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1971708</guid><dc:creator><![CDATA[ChubAKA]]></dc:creator><pubDate>Wed, 27 Oct 2010 19:35:23 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit std::memcpy on Thu, 28 Oct 2010 17:58:19 GMT]]></title><description><![CDATA[<p>ChubAKA schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/23670">@wxSkip</a><br />
Das ist ne gute Frage. Welche Variante würdest du denn wählen? (abgesehen davon, dass man einfach (unsigned int)(i64&gt;&gt;32) schreiben könnte)</p>
</blockquote>
<p>Wenn ich eine andere Vorschlage, welche würde ich dann wohl wählen? <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="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1972074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972074</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Thu, 28 Oct 2010 17:58:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit std::memcpy on Fri, 29 Oct 2010 06:28:36 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>knivil schrieb:</p>
<blockquote>
<p>Nur der Vollstaendigkeit wegen: Der Weg ueber <code>union</code> ist wohl besser.</p>
</blockquote>
<p>Und undefiniert ...</p>
</blockquote>
<p>Ich hätte da ja ein &quot;Oder&quot; spendiert (statt eines &quot;Und&quot;). <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1972202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1972202</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Fri, 29 Oct 2010 06:28:36 GMT</pubDate></item></channel></rss>