<?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[Warum geht das nicht?]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte folgendes tun:</p>
<p>Verschiebe den Wert von X um 8 Stellen nach links und fügen den Wert von Y hinzu.</p>
<p>Ich hab gedacht das geht so:</p>
<p>(x &lt;&lt; 8 | y)</p>
<p>Doch irgendwie gibt er mir immer nur 0 zurück, das heißt, es wird nichts verschoben, wie verschiebe ich denn jetzt die bits und füge den inhalt von y ran (der ist genau 8 bit groß)</p>
<p>Hier das beispiel:</p>
<p>int main()<br />
{<br />
long x, y;<br />
cout&lt;&lt;&quot;Bitte den Wert von X eingeben&quot;&lt;&lt;endl;<br />
cin&gt;&gt;x;<br />
cout&lt;&lt;&quot;Bitte den Wert von Y eingeben&quot;&lt;&lt;endl;<br />
cin&gt;&gt;y;<br />
x &lt;&lt; 8 | y;<br />
cout&lt;&lt;&quot;X ist dann: &quot;&lt;&lt;x&lt;&lt;endl;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/194581/warum-geht-das-nicht</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 14:55:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/194581.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 08 Oct 2007 16:41:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum geht das nicht? on Mon, 08 Oct 2007 16:41:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte folgendes tun:</p>
<p>Verschiebe den Wert von X um 8 Stellen nach links und fügen den Wert von Y hinzu.</p>
<p>Ich hab gedacht das geht so:</p>
<p>(x &lt;&lt; 8 | y)</p>
<p>Doch irgendwie gibt er mir immer nur 0 zurück, das heißt, es wird nichts verschoben, wie verschiebe ich denn jetzt die bits und füge den inhalt von y ran (der ist genau 8 bit groß)</p>
<p>Hier das beispiel:</p>
<p>int main()<br />
{<br />
long x, y;<br />
cout&lt;&lt;&quot;Bitte den Wert von X eingeben&quot;&lt;&lt;endl;<br />
cin&gt;&gt;x;<br />
cout&lt;&lt;&quot;Bitte den Wert von Y eingeben&quot;&lt;&lt;endl;<br />
cin&gt;&gt;y;<br />
x &lt;&lt; 8 | y;<br />
cout&lt;&lt;&quot;X ist dann: &quot;&lt;&lt;x&lt;&lt;endl;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380648</guid><dc:creator><![CDATA[Sebastian848]]></dc:creator><pubDate>Mon, 08 Oct 2007 16:41:37 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Mon, 08 Oct 2007 16:49:24 GMT]]></title><description><![CDATA[<p>Wie wärs mit x = x &lt;&lt; 8 | y ?<br />
x + 1; erhöht x ja auch nicht um eins <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/1380657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380657</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Mon, 08 Oct 2007 16:49:24 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Mon, 08 Oct 2007 17:21:25 GMT]]></title><description><![CDATA[<p>In Zukunft bitte [cpp]-Tags und aussagekräftige Titel verwenden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380683</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 08 Oct 2007 17:21:25 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Mon, 08 Oct 2007 17:43:20 GMT]]></title><description><![CDATA[<p>Sebastian848 schrieb:</p>
<blockquote>
<p>cin&gt;&gt;x;</p>
</blockquote>
<p>und das muss auch <em>cin&gt;&gt;=x</em> heissen, sonst wird <em>cin</em> auch nicht verändert. <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/1380701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380701</guid><dc:creator><![CDATA[C fan]]></dc:creator><pubDate>Mon, 08 Oct 2007 17:43:20 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Mon, 08 Oct 2007 18:56:09 GMT]]></title><description><![CDATA[<p>C fan schrieb:</p>
<blockquote>
<p>Sebastian848 schrieb:</p>
<blockquote>
<p>cin&gt;&gt;x;</p>
</blockquote>
<p>und das muss auch <em>cin&gt;&gt;=x</em> heissen, sonst wird <em>cin</em> auch nicht verändert. <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>
</blockquote>
<p>Nicht ganz...<br />
Das sind überladene Operatoren, die ihre ursprünglichen semantischen Eigenheiten abgelegt haben...:D</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380752</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Mon, 08 Oct 2007 18:56:09 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Mon, 08 Oct 2007 19:30:40 GMT]]></title><description><![CDATA[<p>Don06 schrieb:</p>
<blockquote>
<p>Das sind überladene Operatoren, die ihre ursprünglichen semantischen Eigenheiten abgelegt haben.</p>
</blockquote>
<p>was faselst du da? <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="😕"
    /> <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="😕"
    /> <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/1380780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380780</guid><dc:creator><![CDATA[C Fan]]></dc:creator><pubDate>Mon, 08 Oct 2007 19:30:40 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Mon, 08 Oct 2007 20:20:10 GMT]]></title><description><![CDATA[<p>C Fan schrieb:</p>
<blockquote>
<p>Don06 schrieb:</p>
<blockquote>
<p>Das sind überladene Operatoren, die ihre ursprünglichen semantischen Eigenheiten abgelegt haben.</p>
</blockquote>
<p>was faselst du da? <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="😕"
    /> <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="😕"
    /> <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>
</blockquote>
<p>Der Code von Sebastian ist C++. In C++ kann man Operatoren andere Bedeutungen zuweisen. So verändert der &gt;&gt;-operator angewendet auf cin tatsächlch das cin Objekt, obwohl der Operator angewandt auf ein int oder ähnliches das Objekt nicht verändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380818</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Mon, 08 Oct 2007 20:20:10 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Mon, 08 Oct 2007 20:41:01 GMT]]></title><description><![CDATA[<p>Ja und in Gottes Namen verschiebe ich jetzt auch ins C++ Forum, auf dass die peinliche Debatte um vermeintliche shifts bei cin/cout dort beendet ist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380839</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 08 Oct 2007 20:41:01 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Mon, 08 Oct 2007 20:41:30 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-14811.html" rel="nofollow">Tim</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-10.html" rel="nofollow">ANSI C</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</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/1380840</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380840</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Mon, 08 Oct 2007 20:41:30 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Tue, 09 Oct 2007 07:07:41 GMT]]></title><description><![CDATA[<p>Don06 schrieb:</p>
<blockquote>
<p>C Fan schrieb:</p>
<blockquote>
<p>Don06 schrieb:</p>
<blockquote>
<p>Das sind überladene Operatoren, die ihre ursprünglichen semantischen Eigenheiten abgelegt haben.</p>
</blockquote>
<p>was faselst du da? <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="😕"
    /> <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="😕"
    /> <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>
</blockquote>
<p>Der Code von Sebastian ist C++. In C++ kann man Operatoren andere Bedeutungen zuweisen. So verändert der &gt;&gt;-operator angewendet auf cin tatsächlch das cin Objekt, obwohl der Operator angewandt auf ein int oder ähnliches das Objekt nicht verändert.</p>
</blockquote>
<p>dann tut es mir leid. unter überladenen operatoren kann ich mir nichts vorstellen. ich dachte es wäre C und nicht C++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1380973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1380973</guid><dc:creator><![CDATA[c-fan]]></dc:creator><pubDate>Tue, 09 Oct 2007 07:07:41 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Tue, 09 Oct 2007 08:54:21 GMT]]></title><description><![CDATA[<p>@c-fan:</p>
<p>Gesetzt den Fall, du hast eine Struktur, welche eine Komplexe Zahl darstellt</p>
<pre><code class="language-cpp">struct Complex
{
    double real;
    double imaginary;
}
// Dies sollte auch äquivalent zu C sein.
</code></pre>
<p>so würdest du in C eine Addition in der Form vornehmen, dass du eine Funktion schreibst, die entweder ein neues Objekt zurück gibt oder ein bestehendens verändert:</p>
<pre><code class="language-cpp">void add(Complex* c1, const Complex* c2)
    { /* Hier code zum Addieren beider Zahlen und Zuweisung an c1 */ }

// oder

Complex add(const Complex* c1, const Complex* c2)
   { /* Das selbe eben mit Rückgabe eines neuen Complex-Objektes. */ }
</code></pre>
<p>Verwenden würdest du das entsprechend:</p>
<pre><code class="language-cpp">Complex c1;
Complex c2;
Compley result;

c1.real = 12.0f;
c1.imaginary = -5.5;

c2.real = 13.50f;
c2.imaginary = 0.0f;

add(&amp;c1, &amp;c2);
// oder
result = add(&amp;c1, &amp;c2);
</code></pre>
<p>Mit C++ hast du nun die Möglichkeit, Operatoren zu überladen. Das ganze Funktioniert mit Referenzen (funktionien in den meisten Fällen ähnlich wie Zeiger, sind aber &quot;lediglich&quot; Alias-Namen):</p>
<pre><code class="language-cpp">Complex operator+(const Complex&amp; c1, const Complex&amp; c2)
    { /* Code zum Addieren beider komplexer Zahlen. Hierbei wird ein neues
        Complex-Objekt erzeugt und zurückgegeben. */ }
</code></pre>
<p>Verwenden kann man das dann entsprechend, wie man es auch mit nativen Datentypen gewohnt ist:</p>
<pre><code class="language-cpp">result = c1 + c2;
</code></pre>
<p>Man kann bei der Operatorüberladung streng genommen beliebige Aktionen durchführen lassen. Es macht nur wenig Sinn bei einer Zuweisung ein &quot;Hallo Welt&quot; auszugeben (was dennoch möglich ist).</p>
<p>- So, schluss mit der Missionierung <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>
<p>Grüße...</p>
<p>Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381041</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Tue, 09 Oct 2007 08:54:21 GMT</pubDate></item><item><title><![CDATA[Reply to Warum geht das nicht? on Tue, 09 Oct 2007 10:28:19 GMT]]></title><description><![CDATA[<p>@ bwbg</p>
<p>Also bitte, in C würde man dafür _Complex verwenden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /> *scnr*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1381128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1381128</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 09 Oct 2007 10:28:19 GMT</pubDate></item></channel></rss>