<?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[WORD in zwei BYTE zerlegen]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein kleines Problem.<br />
Ich arbeite mit WinXP Prof. und MS Visual C++ 6.0</p>
<p>Ich habe eine WORD Variable und möchte diese nun in 2 BYTE Variablen zerlegen und zwar folgendermaßen:<br />
Bsp.:</p>
<pre><code class="language-cpp">WORD WCCC = 0x000d
</code></pre>
<p>dann soll</p>
<pre><code class="language-cpp">BYTE Wert1,Wert2;
Wert1 = 0x0d und Wert2 = 0x00
</code></pre>
<p>sein...</p>
<p>Danke für Eure Hilfe.<br />
MfG Dippi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/130114/word-in-zwei-byte-zerlegen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 11:06:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/130114.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Dec 2005 19:28:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 19:28:53 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein kleines Problem.<br />
Ich arbeite mit WinXP Prof. und MS Visual C++ 6.0</p>
<p>Ich habe eine WORD Variable und möchte diese nun in 2 BYTE Variablen zerlegen und zwar folgendermaßen:<br />
Bsp.:</p>
<pre><code class="language-cpp">WORD WCCC = 0x000d
</code></pre>
<p>dann soll</p>
<pre><code class="language-cpp">BYTE Wert1,Wert2;
Wert1 = 0x0d und Wert2 = 0x00
</code></pre>
<p>sein...</p>
<p>Danke für Eure Hilfe.<br />
MfG Dippi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945856</guid><dc:creator><![CDATA[Dippi_81]]></dc:creator><pubDate>Mon, 19 Dec 2005 19:28:53 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 19:36:05 GMT]]></title><description><![CDATA[<p>Dippi_81 schrieb:</p>
<blockquote>
<p>Hallo zusammen,</p>
<p>ich habe ein kleines Problem.<br />
Ich arbeite mit WinXP Prof. und MS Visual C++ 6.0</p>
<p>Ich habe eine WORD Variable und möchte diese nun in 2 BYTE Variablen zerlegen und zwar folgendermaßen:<br />
Bsp.:</p>
<pre><code class="language-cpp">WORD WCCC = 0x000d
</code></pre>
<p>dann soll</p>
<pre><code class="language-cpp">BYTE Wert1,Wert2;
Wert1 = 0x0d und Wert2 = 0x00
</code></pre>
<p>sein...</p>
<p>Danke für Eure Hilfe.<br />
MfG Dippi</p>
</blockquote>
<p>WCCC &amp; OxOOFF und (WCCC &amp; 0xFFOO) &gt;&gt; 16 ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945864</guid><dc:creator><![CDATA[doppelmuffe]]></dc:creator><pubDate>Mon, 19 Dec 2005 19:36:05 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 19:36:27 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">WORD WCCC = 0x000d;
BYTE Wert1 = WCC;
BYTE Wert2 = WCC &gt;&gt; 8;
</code></pre>
<p>Sicher nur bedingt portabel, aber einfach.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945865</guid><dc:creator><![CDATA[Der Meister]]></dc:creator><pubDate>Mon, 19 Dec 2005 19:36:27 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 19:37:57 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Wert1 = static_cast&lt;BYTE&gt; (WCCC &amp; 0xff);
Wert2 = static_cast&lt;BYTE&gt; (WCCC &gt;&gt; 010);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/945867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945867</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Mon, 19 Dec 2005 19:37:57 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 19:40:27 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">WORD  a = 0x000d;
BYTE B0 = ((BYTE*)&amp;a)[0];
BYTE b1 = ((BYTE*)&amp;a)[1];
</code></pre>
<p>Mit den neuen casts bin ich mir nie so ganz sicher, Wahrscheinlich so</p>
<pre><code class="language-cpp">BYTE B0 = reinterpret_cast&lt;BYTE*&gt;(&amp;a)[0];
BYTE B1 = reinterpret_cast&lt;BYTE*&gt;(&amp;a)[1];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/945872</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945872</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Mon, 19 Dec 2005 19:40:27 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 19:45:21 GMT]]></title><description><![CDATA[<p>Du solltest deine Zeiger dann aber auch noch dereferenzieren. Also so:</p>
<pre><code class="language-cpp">BYTE B0 = *(reinterpret_cast&lt;BYTE*&gt;(&amp;a)[0]);
BYTE B1 = *(reinterpret_cast&lt;BYTE*&gt;(&amp;a)[1]);
</code></pre>
<p>(Bin mir jetzt nicht sicher, ob die Klammern wirklich nötig sind - wahrscheinlich nicht.)<br />
Bei der C-Variante fehlt ebenfalls noch die Dereferenzierung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945877</guid><dc:creator><![CDATA[Der Meister]]></dc:creator><pubDate>Mon, 19 Dec 2005 19:45:21 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 19:49:14 GMT]]></title><description><![CDATA[<p>Der Meister schrieb:</p>
<blockquote>
<p>Du solltest deine Zeiger dann aber auch noch dereferenzieren. Also so:</p>
<pre><code class="language-cpp">BYTE B0 = *(reinterpret_cast&lt;BYTE*&gt;(&amp;a)[0]);
BYTE B1 = *(reinterpret_cast&lt;BYTE*&gt;(&amp;a)[1]);
</code></pre>
<p>(Bin mir jetzt nicht sicher, ob die Klammern wirklich nötig sind - wahrscheinlich nicht.)<br />
Bei der C-Variante fehlt ebenfalls noch die Dereferenzierung.</p>
</blockquote>
<p>Muss ich nicht ( macht das [] ) nur verkehrt ist's.</p>
<pre><code class="language-cpp">WORD  a = 0x0a0d;
BYTE B0 = ((BYTE*)&amp;a)[1];
BYTE b1 = ((BYTE*)&amp;a)[0];

BYTE B0 = reinterpret_cast&lt;BYTE*&gt;(&amp;a)[1];
BYTE B1 = reinterpret_cast&lt;BYTE*&gt;(&amp;a)[0];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/945879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945879</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Mon, 19 Dec 2005 19:49:14 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 19:52:31 GMT]]></title><description><![CDATA[<p>Ah, ja, hast recht. Ein Grund mehr, solchen Code zu meiden: Man täuscht sich leicht <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/945881</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945881</guid><dc:creator><![CDATA[Der Meister]]></dc:creator><pubDate>Mon, 19 Dec 2005 19:52:31 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 19:59:13 GMT]]></title><description><![CDATA[<p>Hast recht man täuscht sich leicht<br />
so stimmts jetzt wirklich</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;iomanip&gt;

typedef unsigned short WORD;
typedef unsigned char BYTE;

int main() {
   WORD  a = 0x000d;
   BYTE b0 = ((BYTE*)&amp;a)[0];
   BYTE b1 = ((BYTE*)&amp;a)[1];

   BYTE B0 = reinterpret_cast&lt;BYTE*&gt;(&amp;a)[0];
   BYTE B1 = reinterpret_cast&lt;BYTE*&gt;(&amp;a)[1];

   std::cout &lt;&lt; std::hex &lt;&lt; std::setfill('0') &lt;&lt; &quot;0x&quot; &lt;&lt; std::setw(2) &lt;&lt; (int)B0 &lt;&lt; &quot; 0x&quot; &lt;&lt;std::setw(2) &lt;&lt; std::setfill('0') &lt;&lt; (int)B1 &lt;&lt; std::endl;
   std::cout &lt;&lt; std::hex &lt;&lt; std::setfill('0') &lt;&lt; &quot;0x&quot; &lt;&lt; std::setw(2) &lt;&lt; (int)b0 &lt;&lt; &quot; 0x&quot; &lt;&lt;std::setw(2) &lt;&lt; std::setfill('0') &lt;&lt; (int)b1 &lt;&lt; std::endl;
}
</code></pre>
<p>mein output</p>
<pre><code>0x0d 0x00
0x0d 0x00
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/945885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945885</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Mon, 19 Dec 2005 19:59:13 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 19:58:49 GMT]]></title><description><![CDATA[<p>was haben c++ programmierer nur gegen c casts? sind diese templatecasts irgendwie besser?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/945887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945887</guid><dc:creator><![CDATA[c.rackwitz]]></dc:creator><pubDate>Mon, 19 Dec 2005 19:58:49 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 20:06:36 GMT]]></title><description><![CDATA[<p>c.rackwitz schrieb:</p>
<blockquote>
<p>was haben c++ programmierer nur gegen c casts? sind diese templatecasts irgendwie besser?</p>
</blockquote>
<p>Angeblich sind sie absichtlich so grauslich ( die neuen ) damit man sich leichter tut sie zu vermeiden. <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/945893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945893</guid><dc:creator><![CDATA[ZuK]]></dc:creator><pubDate>Mon, 19 Dec 2005 20:06:36 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Mon, 19 Dec 2005 20:19:02 GMT]]></title><description><![CDATA[<p>du machst ja windows ne? da gibbets macros für: <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowmacros/lobyte.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowmacros/lobyte.asp</a><br />
<a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowmacros/hibyte.asp" rel="nofollow">http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowmacros/hibyte.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/945901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/945901</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Mon, 19 Dec 2005 20:19:02 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Tue, 20 Dec 2005 11:28:29 GMT]]></title><description><![CDATA[<p>c.rackwitz schrieb:</p>
<blockquote>
<p>was haben c++ programmierer nur gegen c casts? sind diese templatecasts irgendwie besser?</p>
</blockquote>
<p>Ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946203</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Tue, 20 Dec 2005 11:28:29 GMT</pubDate></item><item><title><![CDATA[Reply to WORD in zwei BYTE zerlegen on Tue, 20 Dec 2005 13:22:46 GMT]]></title><description><![CDATA[<p>Leute - egal wie man castet - alt oder neu - die Lösung, den Pointer auf WORD auf Pointer auf BYTE zu casten ist nicht portable. Da geht es los mit little- und big-endian. Je nach Prozessor steht an der ersten Byteposition das höher- oder niederwertige Byte. Soweit ich mich erinnere steht nei little-endian steht das niederwertigste Byte zuerst, bei big-endian das höherwertige. Aber da das so schwer zu merken ist und das sowieso nicht portabel ist, einfach die Ursprüngliche Lösung mit Maskieren und Shiften nehmen. Das stimmt dann immer.</p>
<p>Tommi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/946285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/946285</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Tue, 20 Dec 2005 13:22:46 GMT</pubDate></item></channel></rss>