<?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[Einlesen der ersten zwei Ziffern einer Int-Variable möglich?]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich soll einen <strong>achstelligen Hexadezimalcode</strong> (RGBA-Hex-Code) eingeben lassen und dann diesen, gesplittet in seine <strong>vier Zweierbestandteile</strong> wieder ausgeben lassen.</p>
<p>Mein Problem liegt bei Folgendem: die Eingabe soll als Zahl erfolgen (der Hinweis, ich solle den Manipulator</p>
<pre><code class="language-cpp">cin &gt;&gt; hex;
</code></pre>
<p>verwenden hat mich da drauf gebracht). Wie ich von einem String einzelne Teile, also hier zwei Zeichen, abschneide, weiss ich.</p>
<pre><code class="language-cpp">string text, text_zeichen

text_zeichen = text.substr(0,2)
</code></pre>
<p>Aber wie mache ich das mit einer Zahlen-Variable? Ist es hier möglich, eine Anweisung zu geben, so dass ich immer nur eine bestimmte Anzahl an Stellen in eine neue Variable einlese?</p>
<p>Vielen Dank schonmal!<br />
<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/topic/255969/einlesen-der-ersten-zwei-ziffern-einer-int-variable-möglich</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 18:09:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/255969.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Dec 2009 13:51:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Einlesen der ersten zwei Ziffern einer Int-Variable möglich? on Sun, 06 Dec 2009 13:51:14 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich soll einen <strong>achstelligen Hexadezimalcode</strong> (RGBA-Hex-Code) eingeben lassen und dann diesen, gesplittet in seine <strong>vier Zweierbestandteile</strong> wieder ausgeben lassen.</p>
<p>Mein Problem liegt bei Folgendem: die Eingabe soll als Zahl erfolgen (der Hinweis, ich solle den Manipulator</p>
<pre><code class="language-cpp">cin &gt;&gt; hex;
</code></pre>
<p>verwenden hat mich da drauf gebracht). Wie ich von einem String einzelne Teile, also hier zwei Zeichen, abschneide, weiss ich.</p>
<pre><code class="language-cpp">string text, text_zeichen

text_zeichen = text.substr(0,2)
</code></pre>
<p>Aber wie mache ich das mit einer Zahlen-Variable? Ist es hier möglich, eine Anweisung zu geben, so dass ich immer nur eine bestimmte Anzahl an Stellen in eine neue Variable einlese?</p>
<p>Vielen Dank schonmal!<br />
<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/1818624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1818624</guid><dc:creator><![CDATA[Durchstarter]]></dc:creator><pubDate>Sun, 06 Dec 2009 13:51:14 GMT</pubDate></item><item><title><![CDATA[Reply to Einlesen der ersten zwei Ziffern einer Int-Variable möglich? on Sun, 06 Dec 2009 14:41:55 GMT]]></title><description><![CDATA[<p>Du könntest entweder die Zahl sooft durch 10 Teilen, bis nur 2 Ziffern über sind, oder alternativ einen String einlesen, zuschneiden und via stringstream in einen int speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1818649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1818649</guid><dc:creator><![CDATA[Cox]]></dc:creator><pubDate>Sun, 06 Dec 2009 14:41:55 GMT</pubDate></item><item><title><![CDATA[Reply to Einlesen der ersten zwei Ziffern einer Int-Variable möglich? on Sun, 06 Dec 2009 14:45:02 GMT]]></title><description><![CDATA[<p>Durch Rechnen. Das geht mit Bitverschiebungen und logischem UND ganz einfach. Hier ein Tipp: <a href="http://de.wikipedia.org/wiki/Stellenwertsystem" rel="nofollow">Stellenwertsystem</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1818652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1818652</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 06 Dec 2009 14:45:02 GMT</pubDate></item><item><title><![CDATA[Reply to Einlesen der ersten zwei Ziffern einer Int-Variable möglich? on Sun, 06 Dec 2009 15:01:36 GMT]]></title><description><![CDATA[<p>Genau, das mit dem String habe ich auch versucht. Und zwar folgendermaßen:</p>
<pre><code class="language-cpp">string rgba_hex, rot_str, gruen_str, blau_str, alpha_str;
int rot_int;

   cout &lt;&lt; &quot;Bitte geben Sie den hexadezimalen RGBA-Wert ein: &quot;;
	cin &gt;&gt; hex &gt;&gt; rgba_hex;

	rot_str = rgba_hex.substr(0,2);
	gruen_str = rgba_hex.substr(2,2);
	blau_str = rgba_hex.substr(4,2);
	alpha_str = rgba_hex.substr(6,2);

	cout &lt;&lt; &quot;Kontrolle substring rot:	 &quot; &lt;&lt; rot_str &lt;&lt; endl;
	cout &lt;&lt; &quot;Kontrolle substring gruen:	 &quot; &lt;&lt; gruen_str &lt;&lt; endl;
	cout &lt;&lt; &quot;Kontrolle substring blau:	 &quot; &lt;&lt; blau_str &lt;&lt; endl;
	cout &lt;&lt; &quot;Kontrolle substring alpha:	&quot; &lt;&lt; alpha_str &lt;&lt; endl;

	sstr &lt;&lt; rot_str;
	sstr &gt;&gt; rot_int;

	cout &lt;&lt; &quot;Kontrolle: rot : &quot; &lt;&lt; hex &lt;&lt; rot_int &lt;&lt; endl;
</code></pre>
<p>Nur leider kommt bei meiner Ausgabe absoluter Bullshit raus, das Problem liegt denke ich daran, dass ich versuche einen hex-Wert in die Variable zu speichern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1818660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1818660</guid><dc:creator><![CDATA[Durchstarter]]></dc:creator><pubDate>Sun, 06 Dec 2009 15:01:36 GMT</pubDate></item><item><title><![CDATA[Reply to Einlesen der ersten zwei Ziffern einer Int-Variable möglich? on Sun, 06 Dec 2009 15:15:10 GMT]]></title><description><![CDATA[<p>Vielen Dank, sepp_J für den Tipp.</p>
<p>Ich probiere nun schon seit Stunden, wie das klappen könnte, und komme zu nix. Es wäre deshalb total nett, wenn du kurz hinschreiben könntest wie das in meinem Fall lauten würde.</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1818672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1818672</guid><dc:creator><![CDATA[Durchstarter]]></dc:creator><pubDate>Sun, 06 Dec 2009 15:15:10 GMT</pubDate></item><item><title><![CDATA[Reply to Einlesen der ersten zwei Ziffern einer Int-Variable möglich? on Sun, 06 Dec 2009 15:36:23 GMT]]></title><description><![CDATA[<p>Naja, du brauchst erstmal einen mindestens 32-bit großen <code>unsigned integer</code> . Dann liest du den hexadezimal ein und gibst dann die einzelnen bytes aus.</p>
<pre><code class="language-cpp">typedef unsigned int color_t; // Farbe (ARGB) 32-bit
typedef unsigned char channel_t; // Farb&quot;kanal&quot; 8-bit

color_t color;
std::cin &gt;&gt; std::hex &gt;&gt; color;

channel_t blue  = (color &gt;&gt;  0) &amp; 0xFF;
channel_t green = (color &gt;&gt;  8) &amp; 0xFF;
channel_t red   = (color &gt;&gt; 16) &amp; 0xFF;
channel_t alpha = (color &gt;&gt; 24) &amp; 0xFF;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1818679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1818679</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Sun, 06 Dec 2009 15:36:23 GMT</pubDate></item></channel></rss>