<?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[Runden in C++]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>wird in C++ noch immer ceil() aus math.h benutzt?<br />
<a href="http://www.cpp-entwicklung.de/cpplinux/cpp_main/node5.html" rel="nofollow">http://www.cpp-entwicklung.de/cpplinux/cpp_main/node5.html</a></p>
<pre><code class="language-cpp">// Hier soll t genau 2 Zeichen lang sein.
std::string s=&quot;A10&quot;;
char *t = new char[ceil(s.length()/2.0)];
</code></pre>
<p>Viele Grüße</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189653/runden-in-c</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 09:46:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189653.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Aug 2007 12:58:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 12:58:04 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>wird in C++ noch immer ceil() aus math.h benutzt?<br />
<a href="http://www.cpp-entwicklung.de/cpplinux/cpp_main/node5.html" rel="nofollow">http://www.cpp-entwicklung.de/cpplinux/cpp_main/node5.html</a></p>
<pre><code class="language-cpp">// Hier soll t genau 2 Zeichen lang sein.
std::string s=&quot;A10&quot;;
char *t = new char[ceil(s.length()/2.0)];
</code></pre>
<p>Viele Grüße</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345030</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Wed, 15 Aug 2007 12:58:04 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 13:00:40 GMT]]></title><description><![CDATA[<p>Man nutzt dann doch lieber std::ceil() aus &lt;cmath&gt; <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/1345032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345032</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:00:40 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 13:04:06 GMT]]></title><description><![CDATA[<p>ich wuerde in dem Fall einfach</p>
<pre><code class="language-cpp">char *t = new char[s.length()/2 +1]
</code></pre>
<p>nutzen. s.length ist ja ein Ganzzahl Wert, die integer-division rundet grundsaetzlich ab, so dass das +1 das Ganze in aufgerundet ergibt.<br />
Ceil() ergibt einen float/double/long double Wert, den du durch den Einsatz bei der Arrayindizierung implizit in einen int verwandelst (oder size_t), was dir der Compiler mit einer Warnung quittieren sollte, die durch den nicht-Einsatz von floats/doubles entfaellt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345035</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:04:06 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 13:08:03 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>die integer-division rundet grundsaetzlich ab, so dass das +1 das Ganze in aufgerundet ergibt.</p>
</blockquote>
<p>Das kommt nicht hin, wenn die Division glatt aufgeht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345038</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345038</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:08:03 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 13:11:22 GMT]]></title><description><![CDATA[<p>Die Funktion soll HEX Strings nach BinStrings konvertieren. Da muß ich dann aufrunden...</p>
<p>Vielen Dank <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/1345043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345043</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:11:22 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 13:21:24 GMT]]></title><description><![CDATA[<p>The-Kenny schrieb:</p>
<blockquote>
<p>Man nutzt dann doch lieber std::ceil() aus &lt;cmath&gt; <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>ceil ist aber nicht Teil von std::</p>
<p>Und wenn ich cmath öffne erhalte ich beim VS6 diesen Inhalt:</p>
<pre><code class="language-cpp">#ifndef _CMATH_
#define _CMATH_
#ifdef _STD_USING
 #undef _STD_USING
 #include &lt;math.h&gt;
 #define _STD_USING
#else
 #include &lt;math.h&gt;
#endif /* _STD_USING */
#endif /* _CMATH_ */
</code></pre>
<p>Unter der Haube also immer noch Win3.1 <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/1345053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345053</guid><dc:creator><![CDATA[martin_salo]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:21:24 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 13:25:02 GMT]]></title><description><![CDATA[<p>martin_salo schrieb:</p>
<blockquote>
<p>ceil ist aber nicht Teil von std::</p>
</blockquote>
<p>Doch, in &lt;cmath&gt; schon. Schon seit C++ 98.</p>
<blockquote>
<p>Und wenn ich cmath öffne erhalte ich beim VS6 diesen Inhalt:</p>
</blockquote>
<p>Der VS6 kann auch noch kein C++ 98 (jedenfalls nicht gescheit).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345059</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345059</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:25:02 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 13:38:05 GMT]]></title><description><![CDATA[<p>=&gt; VC++ 2005 Express Edition<br />
aja</p>
<pre><code class="language-cpp">double i = 0.562, l = 0.321;
int res = static_cast&lt;int&gt;(i + 0.5);
int res2 = static_cast&lt;int&gt;(l + 0.5);
</code></pre>
<p>...<br />
=&gt; N(a + 0.5) = Gerundet <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/1345070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345070</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 15 Aug 2007 13:38:05 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 14:10:11 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>pumuckl schrieb:</p>
<blockquote>
<p>die integer-division rundet grundsaetzlich ab, so dass das +1 das Ganze in aufgerundet ergibt.</p>
</blockquote>
<p>Das kommt nicht hin, wenn die Division glatt aufgeht.</p>
</blockquote>
<p>Autsch stimmt.<br />
Aber folgendes muesste tun:</p>
<pre><code class="language-cpp">char *t = new char[s.length()/2 + (s.length()%2)?1:0]
</code></pre>
<p>Wenn die division aufgeht (modulo ergibt 0, also false) wird nichts hinzuaddiert, sonst schon <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345098</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 15 Aug 2007 14:10:11 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 14:12:20 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>Aber folgendes muesste tun:</p>
<pre><code class="language-cpp">char *t = new char[s.length()/2 + (s.length()%2)?1:0]
</code></pre>
</blockquote>
<p>Ja, das tut wohl. Ist aber IMHO unnötig kompliziert:</p>
<pre><code class="language-cpp">char *t = new char[(s.length()+1)/2]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1345100</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345100</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Wed, 15 Aug 2007 14:12:20 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 14:18:05 GMT]]></title><description><![CDATA[<p>Oh man ich mal wieder... Wenn ich von Hamburg nach Berlin will flieg ich auch ueber New York und Peking<br />
Kopf-&gt;Tisch</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345105</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 15 Aug 2007 14:18:05 GMT</pubDate></item><item><title><![CDATA[Reply to Runden in C++ on Wed, 15 Aug 2007 14:33:24 GMT]]></title><description><![CDATA[<p>(D)Evil hats doch schon gesagt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1345116</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1345116</guid><dc:creator><![CDATA[torn&amp;amp;twisted]]></dc:creator><pubDate>Wed, 15 Aug 2007 14:33:24 GMT</pubDate></item></channel></rss>