<?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[Programm zum Ausgeben des größtmöglichen Werts integraler Datentypen]]></title><description><![CDATA[<p>Um die interne Darstellung integraler Werte besser zu verstehen, versuchte ich ein Programm zu schreiben, der die im ersten Kommentar genannte Aufgabe erfüllen sollte.</p>
<pre><code>// Programm ermittelt größtmöglich darstellbaren Wert von integralen Datentypen

#include &lt;iostream&gt;

using namespace std;

int main()
{
  int z1 = 0; // interne Darstellung: 16 od. 32 Nullen
  z1 = ~z1; // interne Darstellung von z1 nun: alles Einsen

  z1 = static_cast&lt;unsigned int&gt;(z1); // Der Datentyp von z1 wird zu unsigned z1  

  cout &lt;&lt; z1 &lt;&lt; endl; // größtmögliche unsigned-int-Zahl wird ausgegeben

  z1 = z1 &gt;&gt; 1; // grötmögliche signed-int Zahl...
  cout &lt;&lt; z1; // ... wird ausgegeben

  cin &gt;&gt; z1; // Programm soll nicht nach Ausführung obiger Anweisungen schließen 
}
</code></pre>
<p>Die tatsächliche Ausgabe jedoch :<br />
-1<br />
-1</p>
<p>Wo liegt mein Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/338188/programm-zum-ausgeben-des-größtmöglichen-werts-integraler-datentypen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 20:04:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/338188.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 May 2016 14:48:38 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Programm zum Ausgeben des größtmöglichen Werts integraler Datentypen on Sun, 29 May 2016 14:49:39 GMT]]></title><description><![CDATA[<p>Um die interne Darstellung integraler Werte besser zu verstehen, versuchte ich ein Programm zu schreiben, der die im ersten Kommentar genannte Aufgabe erfüllen sollte.</p>
<pre><code>// Programm ermittelt größtmöglich darstellbaren Wert von integralen Datentypen

#include &lt;iostream&gt;

using namespace std;

int main()
{
  int z1 = 0; // interne Darstellung: 16 od. 32 Nullen
  z1 = ~z1; // interne Darstellung von z1 nun: alles Einsen

  z1 = static_cast&lt;unsigned int&gt;(z1); // Der Datentyp von z1 wird zu unsigned z1  

  cout &lt;&lt; z1 &lt;&lt; endl; // größtmögliche unsigned-int-Zahl wird ausgegeben

  z1 = z1 &gt;&gt; 1; // grötmögliche signed-int Zahl...
  cout &lt;&lt; z1; // ... wird ausgegeben

  cin &gt;&gt; z1; // Programm soll nicht nach Ausführung obiger Anweisungen schließen 
}
</code></pre>
<p>Die tatsächliche Ausgabe jedoch :<br />
-1<br />
-1</p>
<p>Wo liegt mein Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497374</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497374</guid><dc:creator><![CDATA[Dexter1997]]></dc:creator><pubDate>Sun, 29 May 2016 14:49:39 GMT</pubDate></item><item><title><![CDATA[Reply to Programm zum Ausgeben des größtmöglichen Werts integraler Datentypen on Sun, 29 May 2016 14:52:34 GMT]]></title><description><![CDATA[<p>Der Typ von &quot;z1&quot; ist immer noch &quot;int&quot; nicht &quot;unsigned int&quot;, das wird bei der Ausgabe berücksicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497375</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497375</guid><dc:creator><![CDATA[DarkShadow44]]></dc:creator><pubDate>Sun, 29 May 2016 14:52:34 GMT</pubDate></item><item><title><![CDATA[Reply to Programm zum Ausgeben des größtmöglichen Werts integraler Datentypen on Sun, 29 May 2016 14:59:43 GMT]]></title><description><![CDATA[<p>Der Über- bzw Unterlauf von unsigned Typen ist im Standard festgelegt.</p>
<p>UINT_MAX + 1 == 0<br />
bzw<br />
0 - 1 == UINT_MAX.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497376</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Sun, 29 May 2016 14:59:43 GMT</pubDate></item><item><title><![CDATA[Reply to Programm zum Ausgeben des größtmöglichen Werts integraler Datentypen on Sun, 29 May 2016 16:12:42 GMT]]></title><description><![CDATA[<p>Dann stellt sich die Frage: wie gebe ich einer bestehenden Variablen einen anderen Datentyp?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497380</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497380</guid><dc:creator><![CDATA[Dexter1997]]></dc:creator><pubDate>Sun, 29 May 2016 16:12:42 GMT</pubDate></item><item><title><![CDATA[Reply to Programm zum Ausgeben des größtmöglichen Werts integraler Datentypen on Sun, 29 May 2016 16:20:10 GMT]]></title><description><![CDATA[<p>Dexter1997 schrieb:</p>
<blockquote>
<p>Dann stellt sich die Frage: wie gebe ich einer bestehenden Variablen einen anderen Datentyp?</p>
</blockquote>
<p>Gar nicht.</p>
<p>Vermutlich stellst du die falsche Frage. Du willst doch wohl eher wissen, wie du aus -1 einen unsigned int erzeugen kannst. Was mit der vorherigen Variable geschieht, kann dir doch egal sein, oder? Zwei mögliche Antworten darauf wären:</p>
<ul>
<li>
<pre><code></code></pre>
</li>
</ul>
<p>unsigned int z2 = z1;</p>
<pre><code>
So einfach kann es sein. Arithmetische Datentypen werden automatisch ineinander umgewandelt.
*  ```
static_cast&lt;unsigned int&gt;(z1)
</code></pre>
<p>So kannst du den Wert von z1 in einen unsigned umwandeln und damit rechnen. Was du bei dir falsch gemacht hast, ist, dass du den Wert danach gleich wieder einem (signed) int zugewiesen hast. Dabei wurde die Umwandlung sofort wieder rückgängig gemacht, siehe erste Methode.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497381</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497381</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 29 May 2016 16:20:10 GMT</pubDate></item><item><title><![CDATA[Reply to Programm zum Ausgeben des größtmöglichen Werts integraler Datentypen on Sun, 29 May 2016 18:07:08 GMT]]></title><description><![CDATA[<p>Nein, das war tatsächlich mein Vorhaben. Aber danke für die Antwort, dann hab ich jetzt wenigstens Klarheit darüber.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497392</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497392</guid><dc:creator><![CDATA[Dexter1997]]></dc:creator><pubDate>Sun, 29 May 2016 18:07:08 GMT</pubDate></item><item><title><![CDATA[Reply to Programm zum Ausgeben des größtmöglichen Werts integraler Datentypen on Sun, 29 May 2016 18:37:43 GMT]]></title><description><![CDATA[<p>Es gibt prinzipiell auch Datentypen, die sich so verhalten, als ob sie variabel einer von mehreren (oder gar allen möglichen) anderen Datentypen wären. Sie bleiben dabei natürlich die ganze Zeit dieser Supertyp, aber man kann sie so benutzen, als ob sie veränderlich wären.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2497394</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2497394</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 29 May 2016 18:37:43 GMT</pubDate></item></channel></rss>