<?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[Große Zahlen auf Bildschirm ausgeben]]></title><description><![CDATA[<p>Hi, ich hab folgendes Problem:<br />
Angenommen, man will mit sehr große Zahlen arbeiten (128 Bit). Jede Zahl wird als ein Array aus vier int (bzw. aus zwei int64_t) dargestellt.<br />
Wie kann man eine solche Zahl auf dem Bildschirm ausgeben?<br />
Würde man die Elemente des Arrays nacheinander ausgeben, würden diese ja nicht als eine einzige zusammenhängende Zahl interpretiert werden, sondern als vier &quot;selbstständige&quot; Zahlen.<br />
Würde mich über schlaue Ansätze freuen.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/242661/große-zahlen-auf-bildschirm-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 22:49:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/242661.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 06 Jun 2009 17:12:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Große Zahlen auf Bildschirm ausgeben on Sat, 06 Jun 2009 17:12:47 GMT]]></title><description><![CDATA[<p>Hi, ich hab folgendes Problem:<br />
Angenommen, man will mit sehr große Zahlen arbeiten (128 Bit). Jede Zahl wird als ein Array aus vier int (bzw. aus zwei int64_t) dargestellt.<br />
Wie kann man eine solche Zahl auf dem Bildschirm ausgeben?<br />
Würde man die Elemente des Arrays nacheinander ausgeben, würden diese ja nicht als eine einzige zusammenhängende Zahl interpretiert werden, sondern als vier &quot;selbstständige&quot; Zahlen.<br />
Würde mich über schlaue Ansätze freuen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722387</guid><dc:creator><![CDATA[new_user]]></dc:creator><pubDate>Sat, 06 Jun 2009 17:12:47 GMT</pubDate></item><item><title><![CDATA[Reply to Große Zahlen auf Bildschirm ausgeben on Sat, 06 Jun 2009 17:20:47 GMT]]></title><description><![CDATA[<p>Auf dem Bildschirm spielt es doch keine Rolle, ob die Zahl zusammengesetzt wurde, oder nicht.<br />
Wenn du die Zahl einfacher rumschieben willst, dann würde sich das umwandeln in einen string ev. lohnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722391</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Sat, 06 Jun 2009 17:20:47 GMT</pubDate></item><item><title><![CDATA[Reply to Große Zahlen auf Bildschirm ausgeben on Sat, 06 Jun 2009 17:40:59 GMT]]></title><description><![CDATA[<p>Kauf dir nen größeren Bildschirm</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722399</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722399</guid><dc:creator><![CDATA[mymymymy]]></dc:creator><pubDate>Sat, 06 Jun 2009 17:40:59 GMT</pubDate></item><item><title><![CDATA[Reply to Große Zahlen auf Bildschirm ausgeben on Sat, 06 Jun 2009 18:11:18 GMT]]></title><description><![CDATA[<p>Ok, hier nochmal ein Codebeispiel, dass mein Problem verdeutlicht:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

typedef unsigned long int big_number[2];

int main() 
{
  /*
      Darstellung von 2^32
      Binär: 100000000000000000000000000000000 (führende Nullen weggelassen)
      --&gt; man braucht 33 Bit
      d.h.: erste Element muss 1 sein, das zweite muss 0 sein,
	    damit die Zahl binär richtig dargestellt wird

      Die benötigte Ausgabe: 4294967296
      Ausgabe wenn man beide Elemente nacheinander ausgibt: 10

      Ziel: Ein Algorithmus, der beide Array Elemente als eine
	    Zahl interpretiert und diese als String speichert, um sie auszugeben
  */
  big_number n = {1,0};
  cout &lt;&lt; n[0] &lt;&lt; n[1] &lt;&lt; &quot;\n&quot;;

  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1722416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722416</guid><dc:creator><![CDATA[new_user]]></dc:creator><pubDate>Sat, 06 Jun 2009 18:11:18 GMT</pubDate></item><item><title><![CDATA[Reply to Große Zahlen auf Bildschirm ausgeben on Sat, 06 Jun 2009 22:55:50 GMT]]></title><description><![CDATA[<p>für zahlen in der größe gibt es unsigned long long <a href="http://msdn.microsoft.com/en-us/library/s3f49ktz(VS.80).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/s3f49ktz(VS.80).aspx</a></p>
<p>btw: warum der typdef?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722516</guid><dc:creator><![CDATA[Fencer]]></dc:creator><pubDate>Sat, 06 Jun 2009 22:55:50 GMT</pubDate></item><item><title><![CDATA[Reply to Große Zahlen auf Bildschirm ausgeben on Sat, 06 Jun 2009 23:11:07 GMT]]></title><description><![CDATA[<p>new_user schrieb:</p>
<blockquote>
<p>Hi, ich hab folgendes Problem:<br />
Angenommen, man will mit sehr große Zahlen arbeiten (128 Bit). Jede Zahl wird als ein Array aus vier int (bzw. aus zwei int64_t) dargestellt.<br />
Wie kann man eine solche Zahl auf dem Bildschirm ausgeben?<br />
Würde man die Elemente des Arrays nacheinander ausgeben, würden diese ja nicht als eine einzige zusammenhängende Zahl interpretiert werden, sondern als vier &quot;selbstständige&quot; Zahlen.<br />
Würde mich über schlaue Ansätze freuen.</p>
</blockquote>
<p>im prinzip mußt du</p>
<pre><code class="language-cpp">do
   cout&lt;&lt;'0'+x%10;
while(x/=10);
</code></pre>
<p>machen.<br />
da sehe ich keinen weg, der dran vorbeigeht.<br />
probier das mal mit einem int als x.<br />
allerdings ist so die ausgabe verkehrt herum. naja, das zwischenspeichern nachträgliche umdrehen wirst du hinkriegen. cooler ist das zwischenspeichern in likalen variablen einer rekursiven ausgabefunktion, die harmoniert auch viel toller mit den späteren plänen.<br />
für deinen doppeltgroßen typ ist das dividieren nicht mehr so einfach. wenn du zeit hast, kannste folgendes machen. statt zu dividieren multiplizierst du mit einer geeigneten zahl und shiftest. details in jedem guten assemblerbuch. die multiplikation dann auch noch ala karatsuba machen. außerdem kannst du zum beispiel immer, wenn x&gt;1000000 gleich 6 ziffern auf einmal abspalten und die 6 ziffern entweder selber raustun (allerdings nur mit schnellen kurzzahlen) oder zum beispiel das normale cout&lt;&lt;int benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1722520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1722520</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 06 Jun 2009 23:11:07 GMT</pubDate></item></channel></rss>