<?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[Integer binär ändern]]></title><description><![CDATA[<p>Hallo miteinander</p>
<p>Ich habe von meinem c++ Lehrer folgende Aufgabe bekommen:</p>
<p>Schreiben Sie ein Programm, welches innerhalb einer Speicherzelle (1 Byte) das<br />
3. Bit löscht. Die übrigen Bits sollen ihren Ursprungszustand behalten.</p>
<pre><code>Beispiele: Inhalt		Inhalt	  Ergebnis	  Ergebnis
           (Dezimal) 	(Binär)     (Binär)     (Dezimal)

           255		  11111111	01001111    247
           123          01111011    11011001    115
           55           00110111    01101011     55
</code></pre>
<p>(sorry, ist natürlich kein Code, aber ich konnte es nicht anders darstellen)</p>
<p>Um die Dezimalzahl abzuändern, müsst ich sie ja wohl binär ausgeben, oder?<br />
Kann mir jemand erklären, wie man das macht? Oder bin ich völlig auf dem Holzweg?</p>
<p>Freue mich über jeden Lösungsinput.</p>
<p>Danke für eure Hilfe</p>
<p>Grüsse aus der Schweiz, nemico</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/143575/integer-binär-ändern</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 06:48:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/143575.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 09 Apr 2006 19:46:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 19:46:21 GMT]]></title><description><![CDATA[<p>Hallo miteinander</p>
<p>Ich habe von meinem c++ Lehrer folgende Aufgabe bekommen:</p>
<p>Schreiben Sie ein Programm, welches innerhalb einer Speicherzelle (1 Byte) das<br />
3. Bit löscht. Die übrigen Bits sollen ihren Ursprungszustand behalten.</p>
<pre><code>Beispiele: Inhalt		Inhalt	  Ergebnis	  Ergebnis
           (Dezimal) 	(Binär)     (Binär)     (Dezimal)

           255		  11111111	01001111    247
           123          01111011    11011001    115
           55           00110111    01101011     55
</code></pre>
<p>(sorry, ist natürlich kein Code, aber ich konnte es nicht anders darstellen)</p>
<p>Um die Dezimalzahl abzuändern, müsst ich sie ja wohl binär ausgeben, oder?<br />
Kann mir jemand erklären, wie man das macht? Oder bin ich völlig auf dem Holzweg?</p>
<p>Freue mich über jeden Lösungsinput.</p>
<p>Danke für eure Hilfe</p>
<p>Grüsse aus der Schweiz, nemico</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034097</guid><dc:creator><![CDATA[nemico]]></dc:creator><pubDate>Sun, 09 Apr 2006 19:46:21 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 19:58:46 GMT]]></title><description><![CDATA[<p>wenn ichs richtig verstanden habe, liegt das problem darin eine dezimalzahl in eine binärzahl umzu wandeln.<br />
wenn dem so ist: überprüfe ob die zahl größer 128 ist, wenn ja, schreibe eine 1, wenn nein, dann eine 0, dann mach das gleiche bei der hälfte, also mit 64, dann 32, usw, bis 1...</p>
<p>wenn dem nicht so ist: denk ans beste nirvana album und tus - nevermind <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/1034107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034107</guid><dc:creator><![CDATA[Mr. Pink]]></dc:creator><pubDate>Sun, 09 Apr 2006 19:58:46 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 21:25:24 GMT]]></title><description><![CDATA[<p>ach sooooooo...</p>
<p>coole Idee!!!! Ich danke dir für dein Posting.<br />
Werde es gleich mal ausprobieren. Hoffentlich habe ich alles richtig<br />
verstanden <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>
<p>Danke und noch nen schönen Abend</p>
<p>cu</p>
<p>--&gt; gibt es keine einfachere Methode <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="😃"
    /><br />
Ich bin wie der Strom. Nehme immer den Weg des geringsten Widerstandes. <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/1034133</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034133</guid><dc:creator><![CDATA[nemico]]></dc:creator><pubDate>Sun, 09 Apr 2006 21:25:24 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 21:18:30 GMT]]></title><description><![CDATA[<p>kein ding,<br />
ich freu mich auch mal helfen zu können und nicht immer nur selber fragen zu stellen, was bis jetzt immer der fall war <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/1034160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034160</guid><dc:creator><![CDATA[Mr. Pink]]></dc:creator><pubDate>Sun, 09 Apr 2006 21:18:30 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 21:19:37 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich gehe mal von aus, dass Du das 3.Bit von rechts löschen sollst.<br />
Reicht es da nicht aus den Bytewert - 4 zu rechnen??? Wenns das 4.Bit<br />
sein soll dann 8 abziehen usw. Ich werde allerdings aus Deinen Beispielen<br />
nicht ganz schlau, weil da nicht nur das 3.Bit gelöscht wird...</p>
<p>Gruß Chris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034161</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 09 Apr 2006 21:19:37 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 21:33:09 GMT]]></title><description><![CDATA[<p>oje, sorry<br />
du hast natürlich recht. Da habe sich einige böse 0/1 Fehler eingeschlichen.<br />
So wärs richtig:</p>
<p>11111111 --&gt; 11110111<br />
01111011 --&gt; 01110011<br />
00110111 --&gt; 00110111</p>
<p>Ich bin beim Abtippen auf die nächste Aufgabe verrutscht.</p>
<p>Du hast wohl schon recht mit der Idee -4 bzw -8 usw.<br />
Aber in der Aufgabe steht explizit: &quot;..., welches innerhalb einer Speicherzelle (1 Byte) das 3.Bit löscht...&quot;</p>
<p>Die Ideen sind wohl schön und gut und ich danke euch echt für eure Hilfe. Aber gibt es in c++ keine Möglichkeit eine Integerzahl direkt in eine binäre Zahl umzuwandeln???</p>
<p>Nochmals Danke für eure Hilfe</p>
<p>Gruss, Raphael</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034165</guid><dc:creator><![CDATA[nemico]]></dc:creator><pubDate>Sun, 09 Apr 2006 21:33:09 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 21:38:17 GMT]]></title><description><![CDATA[<p>stimmt, bei dieser aufgabe reicht es wirklich, nur das 3.bit zu überprüfen: wenns gleich 1 ist, dann ergebnis=ausgangszahl-4, sonst ergebnis=ausgangszahl.</p>
<p>die beispiele versteh ich auch nicht ganz...<br />
so siehts meiner meinung nach richtig aus (habs jetzt im kopf gemacht, kann also doch falsch sein <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>
<pre><code>Beispiele: Inhalt        Inhalt      Ergebnis      Ergebnis
           (Dezimal)     (Binär)     (Binär)       (Dezimal)

           255          11111111    11111011       251
           123          01111011    01111011       123
           55           00110111    00110011       51
</code></pre>
<p>edit: hmm, war ich mal wieder zu langsam...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034168</guid><dc:creator><![CDATA[Mr. Pink]]></dc:creator><pubDate>Sun, 09 Apr 2006 21:38:17 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 22:32:32 GMT]]></title><description><![CDATA[<pre><code>[cpp]

unsigned char byte;

 byte = byte &amp;  0xfb;  // logisches UND mit 11111011 = 0xfb
// oder kürzer 
 byte &amp;=0xfb;

[/cpp]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1034184</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034184</guid><dc:creator><![CDATA[frodo1]]></dc:creator><pubDate>Sun, 09 Apr 2006 22:32:32 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 23:04:43 GMT]]></title><description><![CDATA[<p>@ Mr. Pink</p>
<p>Danke für die Korrektur, da waren wir wohl beide gleichzeitig beschäftigt <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>Ich glaube dir ist ein Denkfehler unterlaufen. Sorry, soll nicht vorlaut rüberkommen.<br />
Das 3. Bit ist in diesem Fall die 4. Zahl (v.r.n.l)<br />
--&gt; n-tes Bit: 7-6-5-4-3-2-1-0</p>
<p>Ich habe deine Idee vom ersten Posting aufgenommen. Leider funktioniert sie noch nicht ganz. Bei der Zahl 255 bekomme ich wohl die (Test-)Ausgabe 255.<br />
Doch schon bei 123 klappt es nicht mehr: 123 --&gt; 01111011<br />
Deine Idee:<br />
123 &lt; 128 --&gt; 0 okay;<br />
123/2=61 &lt; 64 --&gt; 0 falsch;<br />
usw.</p>
<p>solltest du es so gemeint haben:<br />
123 &lt; 128 --&gt; 0 okay;<br />
123 &gt; 64 --&gt; 1 okay;<br />
123 &gt; 32 --&gt; 1 okay;<br />
123 &gt; 16 --&gt; 1 okay;<br />
123 &gt; 8 --&gt; 1 okay;<br />
123 &gt; 4 --&gt; 1 TILT!!!!!<br />
123 &gt; 2 --&gt; 1 okay;<br />
123 &gt; 1 --&gt; 1 okay;</p>
<p>01111111 = 127<br />
01111011 = 123</p>
<p>Ich hoffe, du verstehst was ich meine. Ich weiss langsam nicht mehr weiter... Ich glaube, langsam aber sicher habe isch scho ziemlich alles ausprobiert <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>
<p>Egal, langsam aber sicher macht mir c++ Spass</p>
<p>Ich danke euch nochmals für eure Inputs. Dieses Forum und die User sind echt genial!!!!!</p>
<p>greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034193</guid><dc:creator><![CDATA[nemico]]></dc:creator><pubDate>Sun, 09 Apr 2006 23:04:43 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 23:29:19 GMT]]></title><description><![CDATA[<p>Ich habe mal etwas geschrieben und hoffe Dir damit helfen zu können. Bin selbst noch neu in C++ und hoffe nicht all zu große Fehler gemacht zu haben.<br />
Probier es einfach aus und wenn Fragen sind frag.</p>
<p>Gruß Chris</p>
<pre><code class="language-cpp">// C++C++C++C++C++C++C++C++C++C++C++C++C++C++
// Datei: main.cpp
// Projekt: das 3.Bit
// Version: 0.1
// Datum: 10.04.2006
// Sprache/Compiler: C++/Code::Blocks v1.0
// Optionen Compiler: -Os (Optimierung Größe)
// Optionen Linker: -s (Strip)
// Autor: justchris
// C++C++C++C++C++C++C++C++C++C++C++C++C++C++

//  Praeprozessor
// ===============
#include &lt;iostream&gt;
#include &lt;string&gt;

//  PROTOTYPEN
// ============
std::string dez2bin(unsigned char byteWert);
void waitENTER();

// ======
//  MAIN
// ======
int main()
{
  unsigned char meineSpeicherstelle = 237;
  unsigned char* zeigerAufByte = &amp;meineSpeicherstelle;

  unsigned char byteWert = *zeigerAufByte;

  std::cout &lt;&lt; &quot;byteWert(dezimal) = &quot; &lt;&lt; (int)byteWert &lt;&lt; std::endl;
  std::cout &lt;&lt; &quot;byteWert(dual) = &quot; &lt;&lt; dez2bin(byteWert) &lt;&lt; std::endl;

  std::cout &lt;&lt; &quot;3.Bit auf 0 setzen...&quot; &lt;&lt; std::endl;
  byteWert&amp;=~4;

  std::cout &lt;&lt; &quot;byteWert(dezimal) = &quot; &lt;&lt; (int)byteWert &lt;&lt; std::endl;
  std::cout &lt;&lt; &quot;byteWert(dual) = &quot; &lt;&lt; dez2bin(byteWert) &lt;&lt; std::endl;

  std::cout &lt;&lt; &quot;Press ENTER to close...&quot;;
  waitENTER();
  return EXIT_SUCCESS;
}

//  IMPLEMENTIERUNGEN
// ===================
std::string dez2bin(unsigned char byteWert)
    {
    std::string dualZahl;
    do
      {
      if (byteWert%2)
        dualZahl+=&quot;1&quot;;
      else
        dualZahl+=&quot;0&quot;;

      byteWert /= 2;
      }
    while (byteWert&gt;0);
    return dualZahl;
    }

void waitENTER()
{
  std::cin.clear();
  std::cin.ignore(std::cin.rdbuf()-&gt;in_avail());
  std::cin.get();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1034201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034201</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 09 Apr 2006 23:29:19 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 23:38:12 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich glaube dir ist ein Denkfehler unterlaufen. Sorry, soll nicht vorlaut rüberkommen.<br />
Das 3. Bit ist in diesem Fall die 4. Zahl (v.r.n.l)<br />
--&gt; n-tes Bit: 7-6-5-4-3-2-1-0</p>
</blockquote>
<p>nein !!!</p>
<p>das dritte Bit ist 00000100 --&gt; es gibt kein &quot;nulltes&quot; bit<br />
bit 3 ist 00001000 --&gt; Nummerierung 0-7</p>
<p>Nemico der Fehler ist also dir unterlaufen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034203</guid><dc:creator><![CDATA[frodo1]]></dc:creator><pubDate>Sun, 09 Apr 2006 23:38:12 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 23:44:26 GMT]]></title><description><![CDATA[<blockquote>
<p>Schreiben Sie ein Programm, welches innerhalb einer Speicherzelle (1 Byte) das<br />
3. Bit löscht. Die übrigen Bits sollen ihren Ursprungszustand behalten.</p>
</blockquote>
<pre><code class="language-cpp">void killBit3(unsigned char &amp;block)
{
	if((block &gt;&gt; 2)%2) block -= 4;
}
</code></pre>
<p><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/1034207</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034207</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Sun, 09 Apr 2006 23:44:26 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Sun, 09 Apr 2006 23:52:23 GMT]]></title><description><![CDATA[<p>als deutscher fange ich übrigens bei 1 an zu zählen. warum sollte das dritte bit dann das an position 4 sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034208</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034208</guid><dc:creator><![CDATA[thordk]]></dc:creator><pubDate>Sun, 09 Apr 2006 23:52:23 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Mon, 10 Apr 2006 00:11:20 GMT]]></title><description><![CDATA[<p>@ justchris<br />
Danke viel Mals für deinen Code. Leider verstehe ich im Moment noch kein Wort. Im Vergleich zu mir, bist du alles andere als ein Anfänger (dafür weiss ich nun wieder wo ich stehe...)!!!! <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>@ frodo<br />
Wie gesagt, meine Aussage war wohl etwas waghalsig. Ich habe diese Aussage auch nur augrund der Aufgabenstellung so geschrieben. Denn in der Aufgabenstellung wird (wie du richtig gepostet hast) das Bit 3 (also das 4.Bit) verändert. Ich nehme mal an, dass unser Lehrer dies so schreiben wollte und deshalb hier für allegemeine Verwirrung sorgte. Tut mir leid und danke für die Richtigstellung!</p>
<p>@ all<br />
Danke für eure Postings! Ist echt toll, wie ihr euch bemüht mir zu helfen. Ich hoffe, ich kann mich irgendwann mal revanchieren!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034211</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034211</guid><dc:creator><![CDATA[nemico]]></dc:creator><pubDate>Mon, 10 Apr 2006 00:11:20 GMT</pubDate></item><item><title><![CDATA[Reply to Integer binär ändern on Mon, 10 Apr 2006 00:30:59 GMT]]></title><description><![CDATA[<p>also nächster Versuch</p>
<pre><code>[cpp]

unsigned char killbit3(unsigned char block)
{
  return( block &amp; 0xf7 );  // löscht bit 4
}

oder  allgemeiner

unsigned char killbit(unsigned char block,unsigned char bitn)
{
  return( block &amp; (~(1 &lt;&lt; bitn)) );
}

[/cpp]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1034213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034213</guid><dc:creator><![CDATA[frodo1]]></dc:creator><pubDate>Mon, 10 Apr 2006 00:30:59 GMT</pubDate></item></channel></rss>