<?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[Variabel große Zahlen]]></title><description><![CDATA[<p>Hallo,</p>
<p>Neulich als ich eine Funktion optimieren wollte, dachte ich mir, dass es eigentlich Speicherverschwendung ist ein int zu nehmen, wo die Variabel sowieso maximal nur bis 325 kommt.<br />
Immerhin würden 9 Bit locker ausreichen, anstatt den 32 eines ints. Dabei kam mir die Idee einer Klasse die ein über Templates in der Länge festgelegtes bool-Array verwaltet um variable lange Zahlen nachzubilden. Damit könnte man in meinem Fall die 23 Bit in meinem Algorithmus sparen (ok, wenn ich das so schreibe, merke ich selber wie lächerlich das eigentlich klingt... <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="😃"
    /> ). Andereseits könnte man damit auch riesige Integer bequem verwalten...<br />
Gibt es sowas in der Richtung schon oder ist das komplett überflüssig?<br />
lg<br />
Nathan</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/312502/variabel-große-zahlen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 02 Aug 2026 18:46:34 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312502.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Jan 2013 16:59:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Variabel große Zahlen on Sun, 06 Jan 2013 16:59:07 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Neulich als ich eine Funktion optimieren wollte, dachte ich mir, dass es eigentlich Speicherverschwendung ist ein int zu nehmen, wo die Variabel sowieso maximal nur bis 325 kommt.<br />
Immerhin würden 9 Bit locker ausreichen, anstatt den 32 eines ints. Dabei kam mir die Idee einer Klasse die ein über Templates in der Länge festgelegtes bool-Array verwaltet um variable lange Zahlen nachzubilden. Damit könnte man in meinem Fall die 23 Bit in meinem Algorithmus sparen (ok, wenn ich das so schreibe, merke ich selber wie lächerlich das eigentlich klingt... <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="😃"
    /> ). Andereseits könnte man damit auch riesige Integer bequem verwalten...<br />
Gibt es sowas in der Richtung schon oder ist das komplett überflüssig?<br />
lg<br />
Nathan</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2286857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2286857</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 06 Jan 2013 16:59:07 GMT</pubDate></item><item><title><![CDATA[Reply to Variabel große Zahlen on Sun, 06 Jan 2013 17:06:07 GMT]]></title><description><![CDATA[<p>Es gibt Bibliotheken für speziell grosse Klassen. Es gibt in der Standardbibliothek Bitsets, um Bits direkt anzusprechen. Mit denen kannst du aber nicht rechnen, sondern boolsche Algebra betreiben.</p>
<p>Allerdings bezweifle ich stark, dass du sowas wirklich brauchst. Du solltest dir bewusst sein, dass so ein Bitgefrickel erhebliche Laufzeitnachteile mit sich bringen kann. Sofern du also genügend RAM hast, sehe ich keinen Sinn darin, den Algorithmus komplizierter und langsamer zu machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2286860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2286860</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 06 Jan 2013 17:06:07 GMT</pubDate></item><item><title><![CDATA[Reply to Variabel große Zahlen on Sun, 06 Jan 2013 17:09:06 GMT]]></title><description><![CDATA[<p>Ja, das habe ich mittlerweile auch eingesehen, als ich weiter über eine Implementierung nachgedacht habe...<br />
Aber diese Bibliotheken für besonders große Zahlen müssten intern eigentlich ähnlich aufgebaut sein, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2286866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2286866</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 06 Jan 2013 17:09:06 GMT</pubDate></item><item><title><![CDATA[Reply to Variabel große Zahlen on Sun, 06 Jan 2013 17:17:56 GMT]]></title><description><![CDATA[<p>Dafür gab es bei C Bitfelder.<br />
z.B.<br />
<a href="http://kurse.eichelsdoerfer.net/c_cpp/0603.html" rel="nofollow">http://kurse.eichelsdoerfer.net/c_cpp/0603.html</a></p>
<p>Ist aber natürlich langsamer.(habs selber nie benutzt)<br />
Vermute das war relevanter als man nicht so viel Ram zur Verfügung hatte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2286875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2286875</guid><dc:creator><![CDATA[Namenloser324]]></dc:creator><pubDate>Sun, 06 Jan 2013 17:17:56 GMT</pubDate></item><item><title><![CDATA[Reply to Variabel große Zahlen on Sun, 06 Jan 2013 17:20:19 GMT]]></title><description><![CDATA[<p>Also ich bezog mich natürlich auf den &quot;9 bit vs 16/32&quot; Part.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2286880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2286880</guid><dc:creator><![CDATA[Namenloser324]]></dc:creator><pubDate>Sun, 06 Jan 2013 17:20:19 GMT</pubDate></item><item><title><![CDATA[Reply to Variabel große Zahlen on Sun, 06 Jan 2013 19:00:19 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>Aber diese Bibliotheken für besonders große Zahlen müssten intern eigentlich ähnlich aufgebaut sein, oder?</p>
</blockquote>
<p>Ich denke, die sind eher auf Geschwindigkeit als Speicherverbrauch optimiert. D.h., wenn man nun 33 Bit bräuchte, nimmt man einen 64-Bit-Typ. Bei grösseren Zahlen werden wohl mehrere kleinere zusammengesetzt, die werden nicht alle Grundrechenarten auf Bit-Ebene neu implementieren. Sowas wäre in Software langsamer als die für herkömmliche Typen optimierten Assemblerbefehle.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2286968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2286968</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 06 Jan 2013 19:00:19 GMT</pubDate></item></channel></rss>