<?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[den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern]]></title><description><![CDATA[<p>hi,<br />
ich möchte den Fortschritt eines Prozesses der von 0 bis 2^2000 geht speichern. Hat da jemand Vorschläge?</p>
<p>Mir ist bis jetzt nur ein ziemlich aufwendiger Weg eingefallen.<br />
Man legt eine Menge von Integern an.<br />
Man beginnt damit I1 hochzuzählen, läuft I1 über wird I2 um Eins erhöht, und so weiter bis I2 auch überläuft, jetzt wird I3 um eins erhöht und so weiter....</p>
<p>thxia</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/172874/den-fortschritt-eines-ssseeeeehhhhhrrrr-langen-prozesses-speichern</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 12:12:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/172874.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 09 Feb 2007 09:33:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern on Fri, 09 Feb 2007 09:33:45 GMT]]></title><description><![CDATA[<p>hi,<br />
ich möchte den Fortschritt eines Prozesses der von 0 bis 2^2000 geht speichern. Hat da jemand Vorschläge?</p>
<p>Mir ist bis jetzt nur ein ziemlich aufwendiger Weg eingefallen.<br />
Man legt eine Menge von Integern an.<br />
Man beginnt damit I1 hochzuzählen, läuft I1 über wird I2 um Eins erhöht, und so weiter bis I2 auch überläuft, jetzt wird I3 um eins erhöht und so weiter....</p>
<p>thxia</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225517</guid><dc:creator><![CDATA[ESS_CB]]></dc:creator><pubDate>Fri, 09 Feb 2007 09:33:45 GMT</pubDate></item><item><title><![CDATA[Reply to den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern on Fri, 09 Feb 2007 09:36:53 GMT]]></title><description><![CDATA[<p>Was meinst du mit &quot;Fortschritt&quot; und &quot;Prozess&quot; in diesem Zusammenhang (ich kenne die üblichen Definitionen, aber atm sehe ich nicht, was die mit deinem Beitrag zu tun haben).</p>
<p>Wenn du 'nur' mit übergroßen Zahlenbereichen hantieren willst, solltest du mal nach GMP suchen - das ist eine Spezialbibliothek für (fast unbegrenzt) große Zahlentypen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225521</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 09 Feb 2007 09:36:53 GMT</pubDate></item><item><title><![CDATA[Reply to den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern on Fri, 09 Feb 2007 10:37:34 GMT]]></title><description><![CDATA[<p>Hsllo,<br />
selbst wenn dein Prozess nur aus dem Inkrementieren eines Riesen-Integers besteht, wirst du in deiner Lebensspanne 2^2000 nicht erreichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225573</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 09 Feb 2007 10:37:34 GMT</pubDate></item><item><title><![CDATA[Reply to den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern on Fri, 09 Feb 2007 14:56:09 GMT]]></title><description><![CDATA[<p>eine Lib wollte ich nicht nehmen, weil ich damit überhaupt nicht zurecht komme. Und das die Integer überlaufen ist ja das Problem.</p>
<p>Wenn niemand dafür eine Lösung hat, lasse ich eben diesen Fortschrittsbalken einfach weg.</p>
<p>naja<br />
danke für die Antworten^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225742</guid><dc:creator><![CDATA[ESS_CB]]></dc:creator><pubDate>Fri, 09 Feb 2007 14:56:09 GMT</pubDate></item><item><title><![CDATA[Reply to den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern on Fri, 09 Feb 2007 14:58:16 GMT]]></title><description><![CDATA[<p>das programm würde länger laufen als du lebst. ist dir das klar?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1225743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225743</guid><dc:creator><![CDATA[100]]></dc:creator><pubDate>Fri, 09 Feb 2007 14:58:16 GMT</pubDate></item><item><title><![CDATA[Reply to den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern on Fri, 09 Feb 2007 18:12:27 GMT]]></title><description><![CDATA[<p>Aber wenn in ferner Zukunft schließlich die Sonne erlischt, zeigt der Fortschrittsbalken so um die 10% an, und darum gehts hier ja schließlich. <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/1225787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1225787</guid><dc:creator><![CDATA[pock]]></dc:creator><pubDate>Fri, 09 Feb 2007 18:12:27 GMT</pubDate></item><item><title><![CDATA[Reply to den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern on Tue, 20 Feb 2007 08:20:14 GMT]]></title><description><![CDATA[<p>es ging um BackTracking, und da braucht das nicht ganz so lang^^</p>
<p>ne, danke für die Antworten, ich hab den Balken einfach weggelassen, da wars sogar schneller <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/1231675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1231675</guid><dc:creator><![CDATA[ESS_CB]]></dc:creator><pubDate>Tue, 20 Feb 2007 08:20:14 GMT</pubDate></item><item><title><![CDATA[Reply to den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern on Tue, 20 Feb 2007 16:23:24 GMT]]></title><description><![CDATA[<p>pock schrieb:</p>
<blockquote>
<p>Aber wenn in ferner Zukunft schließlich die Sonne erlischt, zeigt der Fortschrittsbalken so um die 10% an, und darum gehts hier ja schließlich. <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>
</blockquote>
<p>&quot;Vielen Dank, daß Sie 'Intelligentes Leben' gespielt haben. Noch eine Runde?&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1232109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1232109</guid><dc:creator><![CDATA[Gott]]></dc:creator><pubDate>Tue, 20 Feb 2007 16:23:24 GMT</pubDate></item><item><title><![CDATA[Reply to den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern on Wed, 21 Feb 2007 11:47:26 GMT]]></title><description><![CDATA[<p>HumeSikkins schrieb:</p>
<blockquote>
<p>selbst wenn dein Prozess nur aus dem Inkrementieren eines Riesen-Integers besteht, wirst du in deiner Lebensspanne 2^2000 nicht erreichen.</p>
</blockquote>
<p>100 schrieb:</p>
<blockquote>
<p>das programm würde länger laufen als du lebst. ist dir das klar?</p>
</blockquote>
<p>von solchen Detail-Problemen sollte man sich als echter Hacker nicht aus der Ruhe bringen lassen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>Hier ist mein Vorschlag:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;iterator&gt;
#include &lt;vector&gt;
#include &lt;limits&gt;
#include &lt;iomanip&gt;
#include &lt;sstream&gt;
#include &lt;algorithm&gt;
#include &lt;cassert&gt;

class HyperCounter
{
public:
    explicit HyperCounter( double mant = 0.0, int exp10 = 0 ) // zahl = mant(isse) 10^exp10
        : m_digits( 1, '0' )
    {
        if( mant == 0.0 )
            return;
        assert( mant &gt; 0.0 );
        // --   normalisieren
        while( mant &gt;= 1.0 )
        {
            mant /= 10.0;
            ++exp10;
        }
        while( mant &lt; 0.1 )
        {
            mant *= 10.0;
            --exp10;
        }
        assert( exp10 &gt; 0 );

        using namespace std;
        ostringstream buf;
        buf &lt;&lt; setprecision( min( exp10, std::numeric_limits&lt; double &gt;::digits10 ) ) &lt;&lt; mant;
        const string zahl = buf.str();
        vector&lt; char &gt; digits( exp10, '0' );
        copy( zahl.begin() + zahl.find( '.' ) + 1, zahl.end(), digits.rbegin() );
        swap( digits, m_digits );
    }

    HyperCounter&amp; operator++()
    {
        for( std::vector&lt; char &gt;::iterator i = m_digits.begin(); i!= m_digits.end(); ++i )
        {
            if( ++*i &lt;= char('9') )
                return *this;
            *i = '0';
        }
        m_digits.push_back('1');
        return *this;
    }

    bool operator==( const HyperCounter&amp; b ) const
    {
        return m_digits == b.m_digits;
    }
    bool operator!=( const HyperCounter&amp; b ) const { return !(*this == b); }

    friend std::ostream&amp; operator&lt;&lt;( std::ostream&amp; out, const HyperCounter&amp; hc )
    {
        std::copy( hc.m_digits.rbegin(), hc.m_digits.rend(), std::ostream_iterator&lt; char &gt;( out ) );
        return out;
    }
private:
    std::vector&lt; char &gt; m_digits;
};

int main()
{
    // 2^2000 ca.= 1,1481306952742545242328332011777 E+602
    const HyperCounter upper_limit( 1.1481306952742545242328332011777, 602 ); 

    HyperCounter hc;
    for( int cnt = 1; hc != upper_limit; ++hc, ++cnt )
        if( cnt % 924271 == 0 )   // cnt dient nur der beschleunigten Ausgabe
        {
            std::cout &lt;&lt; hc &lt;&lt; '\r';
            cnt = 0;
        }
    return 0;
}
</code></pre>
<p>Im Release-Mode übersetzt lässt es schon nach weniger als 10Sek MAX_INT hinter sich.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1232504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1232504</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 21 Feb 2007 11:47:26 GMT</pubDate></item><item><title><![CDATA[Reply to den Fortschritt eines ssseeeeehhhhhrrrr langen Prozesses speichern on Thu, 22 Feb 2007 17:56:25 GMT]]></title><description><![CDATA[<p>danke danke^^</p>
<p>aber ich hoffe, dass das jetzt nicht für mich geschrieben war :D, denn wie gesagt ich hab einfach den Balken weggelassen.....</p>
<p>@ Gott (ich meine den unregistrierten User, nicht den Herrn, der da irgendwo oben sitzt <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>wenn du mich fragst: wir kommen nicht bei den 10 Mrd. Jahren an: irgendwann in 10-20 Jahren, kommt ein großes fettes &quot;GAME OVER&quot; auf dem Monitor^^<br />
oder unser Server, von nicht PC-irren gerne auch mal schlampig als &quot;Erde&quot; bezeichnet, stürzt mit einem Bluescreen ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1233541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1233541</guid><dc:creator><![CDATA[ESS_CB]]></dc:creator><pubDate>Thu, 22 Feb 2007 17:56:25 GMT</pubDate></item></channel></rss>