<?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[aufteilung in high und low!]]></title><description><![CDATA[<p>Hi zusammen!</p>
<p>Muß gerade ein pascal programm in vc++ umschreiben und habe folgendes problem:</p>
<p>mit</p>
<pre><code>(hi(liZahl));
(lo(liZahl));
</code></pre>
<p>wird &quot;liZahl&quot; anscheinend in den high und low-anteil aufgeteilt.<br />
liZahl ist ein long int.</p>
<p>Meine Frage ist jetzt: Wie mach ich genau das in c++?</p>
<p>Danke im voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164268/aufteilung-in-high-und-low</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 19:59:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164268.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 06 Nov 2006 16:39:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to aufteilung in high und low! on Mon, 06 Nov 2006 16:39:05 GMT]]></title><description><![CDATA[<p>Hi zusammen!</p>
<p>Muß gerade ein pascal programm in vc++ umschreiben und habe folgendes problem:</p>
<p>mit</p>
<pre><code>(hi(liZahl));
(lo(liZahl));
</code></pre>
<p>wird &quot;liZahl&quot; anscheinend in den high und low-anteil aufgeteilt.<br />
liZahl ist ein long int.</p>
<p>Meine Frage ist jetzt: Wie mach ich genau das in c++?</p>
<p>Danke im voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169839</guid><dc:creator><![CDATA[strcat]]></dc:creator><pubDate>Mon, 06 Nov 2006 16:39:05 GMT</pubDate></item><item><title><![CDATA[Reply to aufteilung in high und low! on Mon, 06 Nov 2006 16:45:22 GMT]]></title><description><![CDATA[<p>Da musst du in C(++) immer gut aufpassen, da den Typen keine feste Groesse zugewiesen ist. Auf einer 64bit-Architektur ist ein long int afaik gleich lang wie ein int.</p>
<pre><code class="language-cpp">typedef uint64 ...;
typedef uint32 ...;

uint64 zahl = ...;

//fuer big endian, fuer low einfach vertauschen
uint32 low = *reinterpret_cast&lt;uint32*&gt;(&amp;zahl);
uint32 high = *(reinterpret_cast&lt;uint32*&gt;(&amp;zahl) + 1);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1169849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169849</guid><dc:creator><![CDATA[Thomas ** 0]]></dc:creator><pubDate>Mon, 06 Nov 2006 16:45:22 GMT</pubDate></item><item><title><![CDATA[Reply to aufteilung in high und low! on Mon, 06 Nov 2006 16:48:33 GMT]]></title><description><![CDATA[<p>LOWORD und HIWORD aus der WinAPI, sollte auch mit int gut funtkionieren. Musst aber nachschauen mit welchem Typ die definiert sind.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169854</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Mon, 06 Nov 2006 16:48:33 GMT</pubDate></item><item><title><![CDATA[Reply to aufteilung in high und low! on Mon, 06 Nov 2006 18:04:40 GMT]]></title><description><![CDATA[<p>Thomas (: schrieb:</p>
<blockquote>
<p>Da musst du in C(++) immer gut aufpassen, da den Typen keine feste Groesse zugewiesen ist. Auf einer 64bit-Architektur ist ein long int afaik gleich lang wie ein int.</p>
<pre><code class="language-cpp">typedef uint64 ...;
typedef uint32 ...;

uint64 zahl = ...;

//fuer big endian, fuer low einfach vertauschen
uint32 low = *reinterpret_cast&lt;uint32*&gt;(&amp;zahl);
uint32 high = *(reinterpret_cast&lt;uint32*&gt;(&amp;zahl) + 1);
</code></pre>
</blockquote>
<p>Äääähm ok, nur um zu gucken ob ich`s richtig verstanden habe:</p>
<pre><code>short int low = *reinterpret_cast&lt;uint32*&gt;(&amp;zahl);
short int high = *(reinterpret_cast&lt;uint32*&gt;(&amp;zahl) + 1);
</code></pre>
<p><strong>Wäre das korrekt?</strong> <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=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169855</guid><dc:creator><![CDATA[strcat]]></dc:creator><pubDate>Mon, 06 Nov 2006 18:04:40 GMT</pubDate></item><item><title><![CDATA[Reply to aufteilung in high und low! on Mon, 06 Nov 2006 19:48:05 GMT]]></title><description><![CDATA[<p>Thomas (: schrieb:</p>
<blockquote>
<p>Auf einer 64bit-Architektur ist ein long int afaik gleich lang wie ein int.</p>
</blockquote>
<p>Kommt ganz darauf an, welches Datenmodell genutzt wird. Bei LLP64 wäre dies zB so, bei LP64 zB nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1169989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1169989</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Mon, 06 Nov 2006 19:48:05 GMT</pubDate></item><item><title><![CDATA[Reply to aufteilung in high und low! on Mon, 06 Nov 2006 21:55:52 GMT]]></title><description><![CDATA[<p>Habe es gelöst und zwar folgendermaßen:</p>
<pre><code>short int lo_wert = wert &amp; 0x00ff;
short int hi_wert = (wert &amp; 0xff00) &gt;&gt; 8;
</code></pre>
<p>Nur falls es jemanden interessiert, funktioniert auf jeden Fall <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/1170092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1170092</guid><dc:creator><![CDATA[strcat]]></dc:creator><pubDate>Mon, 06 Nov 2006 21:55:52 GMT</pubDate></item><item><title><![CDATA[Reply to aufteilung in high und low! on Tue, 07 Nov 2006 09:02:29 GMT]]></title><description><![CDATA[<p>Naja, wenn du ein 2-Byte short in zwei 1-Byte Teile zerlegen willst, klappt das richtig. Ansonsten müsstest du die Werte etwas anpassen:</p>
<pre><code class="language-cpp">int val = ...;
short lo = val &amp; 0xFFFF;
short hi = (val&gt;&gt;16) &amp; 0xFFFF;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1170233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1170233</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 07 Nov 2006 09:02:29 GMT</pubDate></item></channel></rss>