<?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[Kleine Verständnisfragen]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein paar kleine Fragen zu c++:</p>
<p>a. Lässt sich nur der INT Datentyp mit Werten überspannen (OVERFLOW) oder auch Double/Float etc.?</p>
<p>b. const int INT_OVERFLOW= -1 --&gt; dabei wird der Wert auf -1 gesetzt. Wieso?</p>
<p>c. statt if(ganz_zahl == ergebnis), sollte man doch lieber if (ganz_zahl(ergebnis)) verwenden, um die max. Toleranz zu nutzen, oder?</p>
<p>d. if (ergebnis == 0. &amp;&amp; Wert &lt; 0) - wieso sollte man hier einen explizierten Typecast verwenden? Der compiler würde doch auch so einen Float/Double Wert drauß machen, oder?</p>
<p>e. Was ist ein Ordinaltyp?</p>
<p>f. Ein Prototyp ist doch eine Deklaration für eine Function, richtig?</p>
<p>g. Habe gehört, dass Functions mit Rückgabewert nicht als Prozedure verwendet werden dürfen. Wieso dies ?</p>
<p>Vielen Dank im Voraus.<br />
Lg<br />
Tanja</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164758/kleine-verständnisfragen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 03:19:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164758.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Nov 2006 13:43:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kleine Verständnisfragen on Sun, 12 Nov 2006 13:43:43 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein paar kleine Fragen zu c++:</p>
<p>a. Lässt sich nur der INT Datentyp mit Werten überspannen (OVERFLOW) oder auch Double/Float etc.?</p>
<p>b. const int INT_OVERFLOW= -1 --&gt; dabei wird der Wert auf -1 gesetzt. Wieso?</p>
<p>c. statt if(ganz_zahl == ergebnis), sollte man doch lieber if (ganz_zahl(ergebnis)) verwenden, um die max. Toleranz zu nutzen, oder?</p>
<p>d. if (ergebnis == 0. &amp;&amp; Wert &lt; 0) - wieso sollte man hier einen explizierten Typecast verwenden? Der compiler würde doch auch so einen Float/Double Wert drauß machen, oder?</p>
<p>e. Was ist ein Ordinaltyp?</p>
<p>f. Ein Prototyp ist doch eine Deklaration für eine Function, richtig?</p>
<p>g. Habe gehört, dass Functions mit Rückgabewert nicht als Prozedure verwendet werden dürfen. Wieso dies ?</p>
<p>Vielen Dank im Voraus.<br />
Lg<br />
Tanja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172998</guid><dc:creator><![CDATA[columbo1979]]></dc:creator><pubDate>Sun, 12 Nov 2006 13:43:43 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Verständnisfragen on Sun, 12 Nov 2006 13:52:09 GMT]]></title><description><![CDATA[<p>a. Das geht afaik nicht bei float/double<br />
b. Weil nur 'int' signed ist, also du Werte mit Vorzeichen speichern kannst<br />
c. Nein, das zweite ist falsch<br />
d. Dann sieht man besser was passiert im Code, aber ein == Vergleich mit float/double sollte man aber nicht machen<br />
e. Keine Ahnung ich wuerd auf built-in-Type tippen.<br />
f. Ja<br />
g. Versteh die Frage nicht, Beispiel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173006</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173006</guid><dc:creator><![CDATA[Thomas ** 0]]></dc:creator><pubDate>Sun, 12 Nov 2006 13:52:09 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Verständnisfragen on Sun, 12 Nov 2006 15:17:19 GMT]]></title><description><![CDATA[<p>Hallo</p>
<blockquote>
<p>g. Habe gehört, dass Functions mit Rückgabewert nicht als Prozedure verwendet werden dürfen. Wieso dies ?</p>
</blockquote>
<p>In C/C++ gibt es keinen Unterschied zwiaschen Funktionen und Prozeduren wie in Pascal.<br />
Es gibt nur Funktionen mit und ohne Rückgabetyp. Aber der Rückgabewert muß nicht im konkreten Aufruf verwendet werden.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173054</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 12 Nov 2006 15:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Verständnisfragen on Sun, 12 Nov 2006 15:34:00 GMT]]></title><description><![CDATA[<p>Danke, müsste nun nur noch wissen, was ein Ordinaltyp in c++ ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173073</guid><dc:creator><![CDATA[columbo1979]]></dc:creator><pubDate>Sun, 12 Nov 2006 15:34:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Verständnisfragen on Sun, 12 Nov 2006 16:03:04 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ein Ordinaltyp ist ein Aufzählunstyp, wo jeder einzelner Wert genau einen Vorgänger und Nachfolger hat. Daraus ergibt sich eine strenge Ordnung, deshalb Ordinal. In C++ sind das int, char, short und enum. Nicht aber zum Beispiel float.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173095</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 12 Nov 2006 16:03:04 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Verständnisfragen on Mon, 13 Nov 2006 08:55:50 GMT]]></title><description><![CDATA[<p>Danke, kann mir jemand noch diesen Satz erklären:</p>
<p>ergebnis = (double (fakultaet(int (ergebnis))));</p>
<p>? Was heißt dies?<br />
Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173411</guid><dc:creator><![CDATA[columbo1979]]></dc:creator><pubDate>Mon, 13 Nov 2006 08:55:50 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Verständnisfragen on Mon, 13 Nov 2006 09:01:40 GMT]]></title><description><![CDATA[<p>columbo1979 schrieb:</p>
<blockquote>
<p>a. Lässt sich nur der INT Datentyp mit Werten überspannen (OVERFLOW) oder auch Double/Float etc.?</p>
</blockquote>
<p>Wenn ein Gleitkommawert zu groß wird, erhältst du #.INF, ein Ganzzahlwert macht am unteren Ende der Skala weiter (z.B. &quot;char x = 127; x++;&quot; ergibt -128).</p>
<blockquote>
<p>ergebnis = (double (fakultaet(int (ergebnis))));</p>
</blockquote>
<p>Der Inhalt von 'ergebnis' wird nach int umgewandelt, an die Funktion 'fakultaet' übergeben und deren Rückgabewert wieder zu einem double zurückverwandelt. Aber eigentlich reicht auch <code>ergebnis = fakultaet(ergebnis);</code> aus - um die ganzen Typumwandlungen sollte sich der Compiler kümmern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173421</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173421</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 13 Nov 2006 09:01:40 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Verständnisfragen on Mon, 13 Nov 2006 09:03:46 GMT]]></title><description><![CDATA[<p>Vielen Dank.<br />
Lg<br />
Tanja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1173424</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1173424</guid><dc:creator><![CDATA[columbo1979]]></dc:creator><pubDate>Mon, 13 Nov 2006 09:03:46 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Verständnisfragen on Tue, 14 Nov 2006 14:20:07 GMT]]></title><description><![CDATA[<p>main.cpp</p>
<pre><code>Wert = ((fakultaet(ergebnis)));
</code></pre>
<p>math.h<br />
Variante a / double<br />
double fakultaet(double n);</p>
<p>Variante b / int<br />
int fakultaet(int n);<br />
const int INT_OVERFLOW = -1;</p>
<p>math.cpp<br />
double fakultaet(double n) // Variante a<br />
int fakultaet(int fakult) // Varinate b</p>
<p>Dazu ein paar kleine Fragen:<br />
a. Welche Version wird im main.cpp aufgerufen? Die int variante oder die double?<br />
b. Wie kann ich festsetzen, dass dafür die funktion double genutzt wird? nicht int.<br />
c. Bei INT kann ich ja recht leicht feststellen, ob ein Überlauf stattgefunden hat. nur wie kann ich dies bei &quot;double&quot; feststellen? (mantissenüberlauf)</p>
<p>Danke. Lg Tanja</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174549</guid><dc:creator><![CDATA[columbo1979]]></dc:creator><pubDate>Tue, 14 Nov 2006 14:20:07 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Verständnisfragen on Tue, 14 Nov 2006 18:10:16 GMT]]></title><description><![CDATA[<p>Welche Version der Funktion benutzt wird, hängt vom Typ des Parameters ab. Bei</p>
<pre><code class="language-cpp">ergebnis = (double (fakultaet(int (ergebnis))));
</code></pre>
<p>wird die int fakultaet(int n) aufgerufen, da ergebnis nach int gecastet wird. Willst du die double-Version der Fakultätsfunktion aufrufen:</p>
<pre><code class="language-cpp">bla = fakultaet(double (ergebnis));
</code></pre>
<p>oder vorher sicherstellen, dass ergebnis vom Typ double ist:</p>
<pre><code class="language-cpp">double ergebnis = 42.2;
bla = fakultaet(ergebnis);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1174688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174688</guid><dc:creator><![CDATA[hmm...]]></dc:creator><pubDate>Tue, 14 Nov 2006 18:10:16 GMT</pubDate></item><item><title><![CDATA[Reply to Kleine Verständnisfragen on Wed, 15 Nov 2006 07:14:44 GMT]]></title><description><![CDATA[<p>columbo1979 schrieb:</p>
<blockquote>
<p>a. Welche Version wird im main.cpp aufgerufen? Die int variante oder die double?</p>
</blockquote>
<p>Das hängt vom Typ der Variablen 'ergebnis' ab - der Compiler nimmt die Version, für die er weniger Typumwandlungen benötigt.</p>
<blockquote>
<p>b. Wie kann ich festsetzen, dass dafür die funktion double genutzt wird? nicht int.</p>
</blockquote>
<p>Indem du notfalls eine explizite Typumwandlung einbaust.</p>
<blockquote>
<p>c. Bei INT kann ich ja recht leicht feststellen, ob ein Überlauf stattgefunden hat. nur wie kann ich dies bei &quot;double&quot; feststellen? (mantissenüberlauf)</p>
</blockquote>
<p>Sogar noch einfacher als bei int - wenn der Wert zu groß wird, um dargestellt zu werden, springt er auf <code>numeric_limits&lt;double&gt;::inf()</code> um. (bei einem int müsstest du bei jeder Operation überprüfen, ob du in den negativen Bereich gesprungen bist)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174874</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 15 Nov 2006 07:14:44 GMT</pubDate></item></channel></rss>