<?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[begrenzte größe von datentypen]]></title><description><![CDATA[<p>hallo leute!<br />
hoffentlich habe ich den titel richtig gewählt. mein problem ist folgendes: eine aufgabe von meiner ausbildung besteht darin, hohe potenzen von zahlen auszurechnen. also z.B.: 2^128. allerdings ist kein datentyp in der lage die komplette zahl zu fassen. welche möglichkeit habe ich, diese aufgabe zu lösen?</p>
<p>schon mal vielen dank</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261848/begrenzte-größe-von-datentypen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 02:46:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261848.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Feb 2010 17:11:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to begrenzte größe von datentypen on Wed, 24 Feb 2010 17:11:45 GMT]]></title><description><![CDATA[<p>hallo leute!<br />
hoffentlich habe ich den titel richtig gewählt. mein problem ist folgendes: eine aufgabe von meiner ausbildung besteht darin, hohe potenzen von zahlen auszurechnen. also z.B.: 2^128. allerdings ist kein datentyp in der lage die komplette zahl zu fassen. welche möglichkeit habe ich, diese aufgabe zu lösen?</p>
<p>schon mal vielen dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860733</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860733</guid><dc:creator><![CDATA[f0rc3]]></dc:creator><pubDate>Wed, 24 Feb 2010 17:11:45 GMT</pubDate></item><item><title><![CDATA[Reply to begrenzte größe von datentypen on Wed, 24 Feb 2010 17:18:28 GMT]]></title><description><![CDATA[<p>f0rc3 schrieb:</p>
<blockquote>
<p>hallo leute!<br />
hoffentlich habe ich den titel richtig gewählt. mein problem ist folgendes: eine aufgabe von meiner ausbildung besteht darin, hohe potenzen von zahlen auszurechnen. also z.B.: 2^128. allerdings ist kein datentyp in der lage die komplette zahl zu fassen. welche möglichkeit habe ich, diese aufgabe zu lösen?</p>
<p>schon mal vielen dank</p>
</blockquote>
<p>Einen Langzahltyp selber schreiben. Im einfachsten Fall ein Array of char mit den Ziffern drin.<br />
Und eine Addierfunktion schreiben, die zwei solche Arrays addieren kann.<br />
Und das in eine 128-er Schleife packen.</p>
<p>Falls es nicht um 2^128, sondern um 2^128%17 geht, kannste bei Mini-Zahlen bleiben, indem bei jedem Zwischenergebnis schon %17 ausgeführt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860735</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860735</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 24 Feb 2010 17:18:28 GMT</pubDate></item><item><title><![CDATA[Reply to begrenzte größe von datentypen on Wed, 24 Feb 2010 17:21:16 GMT]]></title><description><![CDATA[<p>Oder aber eine Bibliothek nutzen wie <a href="http://gmplib.org/" rel="nofollow">gmp</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860736</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860736</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 24 Feb 2010 17:21:16 GMT</pubDate></item><item><title><![CDATA[Reply to begrenzte größe von datentypen on Wed, 24 Feb 2010 20:26:34 GMT]]></title><description><![CDATA[<p>erst einmal vielen dank für die schnellen antworten. wie gehe ich da vor wenn ich einen eigenen langzahltyp schreiben will? das scheint mir auch für zukünftige projekte ganz sinnvoll zu sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860796</guid><dc:creator><![CDATA[f0rc3]]></dc:creator><pubDate>Wed, 24 Feb 2010 20:26:34 GMT</pubDate></item><item><title><![CDATA[Reply to begrenzte größe von datentypen on Wed, 24 Feb 2010 20:37:49 GMT]]></title><description><![CDATA[<p>Auf <a href="http://codeproject.com" rel="nofollow">codeproject.com</a> gibt's solche Klassen auch, z.B. die hier:</p>
<p><a href="http://www.codeproject.com/KB/cpp/lint.aspx" rel="nofollow">http://www.codeproject.com/KB/cpp/lint.aspx</a></p>
<p>Keine Ahnung, ob die gut ist, ich habe sowas noch nie gebraucht. Jedenfalls gibt es genug Implementationen im Internet, falls du es nicht selbst machen willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860810</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 24 Feb 2010 20:37:49 GMT</pubDate></item><item><title><![CDATA[Reply to begrenzte größe von datentypen on Wed, 24 Feb 2010 20:51:16 GMT]]></title><description><![CDATA[<p>Ich habe eine alte Funktion gefunden, die eine solche Zahl verdoppelt.</p>
<pre><code class="language-cpp">class BigNum
{
private:
	u8 *data;
	size_t len;
	size_t size;
...
	void dup()
	{
		u8 carry=0;
		for(size_t i=0;i&lt;len;++i)
		{
			data[i]*=2;
			data[i]+=carry;
			if(data[i]&lt;10)
			{
				carry=0;
			}
			else
			{
				data[i]-=10;
				carry=1;
			}
		}
		if(carry)
		{
			if(len==size)
				grow(2*size);
			data[len]=1;
			++len;
		}
	}
...
	void printAt(ostream &amp;out)
	{
		size_t i=len-1;
		do
		{
			out&lt;&lt;char('0'+data[i]);
		}while(i--);
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1860821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860821</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Wed, 24 Feb 2010 20:51:16 GMT</pubDate></item></channel></rss>