<?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[Frage zum Operator ~]]></title><description><![CDATA[<p>Ich habe folgendes zum dem Operator gefunden: <a href="http://www.cplusplus.com/doc/tutorial/operators/" rel="nofollow">http://www.cplusplus.com/doc/tutorial/operators/</a></p>
<p>operator | ASM | description<br />
~ | NOT | Unary complement (bit inversion)</p>
<p>Aber was ist eine &quot;unäre komplette (bit inversion)&quot;?</p>
<p>Und wie setzt man den Operator in C++ ein?</p>
<pre><code class="language-cpp">int a = 4;
_asm
{
 NOT a
}
cout&lt;&lt;a&lt;&lt;endl;
</code></pre>
<p>Oh, hab noch eine genauere Erklärung gefunden: <a href="http://www.i8086.de/asm/8086-88-asm-not.html" rel="nofollow">http://www.i8086.de/asm/8086-88-asm-not.html</a></p>
<p>4 = 100<br />
4 invertiert = 011 = 2</p>
<p>Wieso bekomm ich -5 raus <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/topic/309183/frage-zum-operator</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 11:18:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/309183.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Oct 2012 12:43:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zum Operator ~ on Tue, 16 Oct 2012 12:43:45 GMT]]></title><description><![CDATA[<p>Ich habe folgendes zum dem Operator gefunden: <a href="http://www.cplusplus.com/doc/tutorial/operators/" rel="nofollow">http://www.cplusplus.com/doc/tutorial/operators/</a></p>
<p>operator | ASM | description<br />
~ | NOT | Unary complement (bit inversion)</p>
<p>Aber was ist eine &quot;unäre komplette (bit inversion)&quot;?</p>
<p>Und wie setzt man den Operator in C++ ein?</p>
<pre><code class="language-cpp">int a = 4;
_asm
{
 NOT a
}
cout&lt;&lt;a&lt;&lt;endl;
</code></pre>
<p>Oh, hab noch eine genauere Erklärung gefunden: <a href="http://www.i8086.de/asm/8086-88-asm-not.html" rel="nofollow">http://www.i8086.de/asm/8086-88-asm-not.html</a></p>
<p>4 = 100<br />
4 invertiert = 011 = 2</p>
<p>Wieso bekomm ich -5 raus <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/2260974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260974</guid><dc:creator><![CDATA[operator~]]></dc:creator><pubDate>Tue, 16 Oct 2012 12:43:45 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Operator ~ on Tue, 16 Oct 2012 12:48:01 GMT]]></title><description><![CDATA[<p>Die restlichen Bits hast du einfach mal so unterschlagen. Angenommen, ein int hätte 1 Byte:</p>
<pre><code>0000 0100 = 4
1111 1011 = -128+64+32+16+8+2+1 = -5
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2260976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260976</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 16 Oct 2012 12:48:01 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Operator ~ on Tue, 16 Oct 2012 12:57:46 GMT]]></title><description><![CDATA[<p>Probier's mal mit unsigned Datentypen. <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="😉"
    /><br />
PS: 011 ist 3, nicht 2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2260980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260980</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 16 Oct 2012 12:57:46 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Operator ~ on Tue, 16 Oct 2012 12:52:14 GMT]]></title><description><![CDATA[<p>Und wie kommst Du auf &quot;unäre komplette&quot;? Lies das englische Wort nochmal <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/2260981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2260981</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 16 Oct 2012 12:52:14 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Operator ~ on Tue, 16 Oct 2012 13:29:10 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Probier's mal mit unsigned Datentypen. <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>
</blockquote>
<p>Auch dann ist es keine 3. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261017</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 16 Oct 2012 13:29:10 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Operator ~ on Tue, 16 Oct 2012 13:31:24 GMT]]></title><description><![CDATA[<p>out schrieb:</p>
<blockquote>
<p>cooky451 schrieb:</p>
<blockquote>
<p>Probier's mal mit unsigned Datentypen. <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>
</blockquote>
<p>Auch dann ist es keine 3. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Hm... das stimmt. <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="🤡"
    /><br />
Edit: Probier's mal mit einem genau 3 bit großen unsigned Datentypen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261019</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 16 Oct 2012 13:31:24 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Operator ~ on Tue, 16 Oct 2012 15:35:15 GMT]]></title><description><![CDATA[<p>Here you go:</p>
<pre><code class="language-cpp">#include &lt;bitset&gt;
#include &lt;iostream&gt;

using namespace std;

int main()
{
	bitset&lt;3&gt; threeBits(4);

	std::cout &lt;&lt; (~threeBits).to_ulong();
}
</code></pre>
<p>Jedoch ist 011 nicht 2 <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/2261056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261056</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Tue, 16 Oct 2012 15:35:15 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Operator ~ on Tue, 16 Oct 2012 18:14:07 GMT]]></title><description><![CDATA[<p>Eine bitweise Negierung ist nichts anderes als das Umkehren des Wertes jedes Bits. Also für jedes Bit bit im Speicher bit = ! bit.<br />
Das lustige ist jetzt, dass Zahlen intern anders notiert werden als du wahrscheinlich denkst. Und deswegen sind Vorzeichenbehaftete Zahlen da auch etwas tricky.</p>
<p>Man kann für vorzeichenlose Skalare statt <code>~a</code> auch <code>a ^= std::numeric_limits&lt;unsigned&gt;::max()</code> schreiben (angenommen, <code>a</code> ist vom Typ <code>unsigned</code> )..<br />
Das heißt nichts anderes als (für bspw. 32-Bit Maschinen):</p>
<pre><code>00110010 00000000 00000000 00000000
^ 11111111 11111111 11111111 11111111
= 110011.......
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2261096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261096</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 16 Oct 2012 18:14:07 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zum Operator ~ on Tue, 16 Oct 2012 18:10:42 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Eine bitweise Negierung ist nichts anderes als das Umkehren des Wertes jedes Bits. Also für jedes Bit bit im Speicher bit = ! bit.<br />
Das lustige ist jetzt, dass Zahlen intern anders notiert werden als du wahrscheinlich denkst. Und deswegen sind Vorzeichenbehaftete Zahlen da auch etwas tricky.</p>
</blockquote>
<p>Wovon redest du? Was soll dabei tricky sein? Da ist rein gar nichts tricky und es gibt auch keine Probleme dabei. Das Problem des TE war einfach nur, dass er gedacht hat, seine Variable bestünde aus 3 Bits, nicht mehr und nicht weniger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2261099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2261099</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 16 Oct 2012 18:10:42 GMT</pubDate></item></channel></rss>