VB(A) - lange Zahlen

Hallo,

stellt euch vor dass ich mit sehr langen Zahlen arbeiten wöllte (zb um die Formel 9 hoch 9 hoch 9 ausrechnen zu lassen).
Nun habe ich das Problem: welchen Variablentyp benutze ich dafür? Die typischen scheinen alle zu klein zu sein …

LG

Hallo Tobi@s

Wieso sind die zu klein?
9^9^9 ist laut Excel 1.96627050475553E+77
Der Variablentyp Double geht laut VBA-Hilfe bis 1.79769313486232E308, also gar kein Problem.

Gruß, Andreas
:

Hallo,

… dass ich mit sehr langen Zahlen arbeiten
wollte (zb um die Formel 9 hoch 9 hoch 9 ausrechnen zu
lassen).
Nun habe ich das Problem: welchen Variablentyp benutze ich
dafür? Die typischen scheinen alle zu klein zu sein …

LG

Wieso sind die zu klein?
9^9^9 ist laut Excel 1.96627050475553E+77
Der Variablentyp Double geht laut VBA-Hilfe bis
1.79769313486232E308, also gar kein Problem.

Hallo Andreas,

jain. Schau genau hin und zähl mal die Anzahl der Ziffern,
es sind 15. Mehr kann Excel nicht, es bezeichnet das als signifikante
Stellen.

D.h. 10 hoch 77 hat wohl so ca. 77 Zifferstellen.
Alle mit Ziffern zu befüllen bringt Null denn
Excel rechnet nur mit den ersten 15, Rest ist für Excel 0.

Ich kann Tobias als einzig mir bekannte Lösung anzubieten,
daß er sich da in Vba was bastelt, was unabhängig von Excelvorgaben
quasi zu Fuß, wie wenn man das mit Papier und Bleistift rechnet,
höchstwahrscheinlich dabei die Zahlenreihen als Text behandelt und
die einzeln durchrechnet, es per Code berechnen zu lassen.

Jmd. hatte dazu eine wunderbare Webseite mit entsprechenden
Codes. Und er hatte sich viel Mühe gemacht Codes für alle möglichen
Fälle zu entwickeln. Also Addition, Subtraktion, Multiplikation,
Potenzierung und viel viel mehr für ellenlange Zahlen.

Leider habe ich den Link, die Codes, nicht mehr :frowning:
Gab da kleinen Betriebsunfall mit meiner damaligen Festplatte und
der zweiten Festplatte die die Sicherungsplatte der ersten war.

Sorry Tobias, bessere nachrichten habe ich nicht.

Gruß
Reinhard

Hallo Reinhard,

ok. Jedenfalls hast du mein Problem verstanden. Die vielen „E+77“ nutzen mir nix. Möchte ja wissen was da tatsächlich steht :smile:

Ich dachte mal gehört zu haben dass man da irgendwie zwei Variablen verknüpfen kann (so a la Variable1 = der vordere Teil, Variable2 = der hintere Teil).

LG und schönes WE

Hallo Tobias,

Möchte ja wissen was da tatsächlich steht :smile:

so habe ich das verstanden, ohne Vba oder Fremdproramme kannste das
in Excel nicht leisten.

Ich dachte mal gehört zu haben dass man da irgendwie zwei
Variablen verknüpfen kann (so a la Variable1 = der vordere
Teil, Variable2 = der hintere Teil).

K.A. was du meinst. Mit Excelmitteln kannste nicht
Var1: 123456789012345
Var2: 0,543210987654321
addieren um das Ergebnis
123456789012345,543210987654321
zu erhalten als zahl.

M.W. geht das nur über Vba. Zu dem Beispiel was ich eben schrieb sag ich nix, ich nehm mal ein einfacheres Beispiel.

Var1: 456
Var2: 276

Dann behandle wenn du sie addieren willst als Text, also frei von Excelvorschriften.
Naja dann per Vba genau das tun was du manuell machen würdest,
die beiden 6er addieren, ergibt 2 und 1 als Übertrag.
dann 5+7, gibt 2 plus Übertrag also 3, undso weiter und sofort.

Das wäre jetzt nur die Addition und logo klappt die auch bei 308
stelligen zahlen.
Für deine Potenzierung brauchst du meiner Meinung nach als kleinste
Sub/makro/Prozedur den angedeuteten Addierer.

Als mittlere Prozedur einen Multipliziercode der entsprechend
oft den Addierer aufruft.
Als oberste prozedur dann eine Art Potenziercode.
Wobei du da nicht einfach sagen kannst, rechne mal 9^9^9

Ein spontaner Ansatz von mir dazu wäre, du belegst eine globale
Variable mit dem String „9“.
Dann rufst du deine Potenzierroutine auf, gibst ihr als Faktor
die 9 vor und damit soll sie globaleVariable hoch 9 berechnen
und dementsprechend als Ergbnis die globale Variable anpassen.

In der nächsten Codezeile soll sie dann das gleiche tun wie eben.

Naja, bevor ich dich noch mehr verwirre hör ich auf :smile:

Gruß
Reinhard

Grüezi zusammen

Jmd. hatte dazu eine wunderbare Webseite mit entsprechenden
Codes. Und er hatte sich viel Mühe gemacht Codes für alle
möglichen
Fälle zu entwickeln. Also Addition, Subtraktion,
Multiplikation,
Potenzierung und viel viel mehr für ellenlange Zahlen.

Leider habe ich den Link, die Codes, nicht mehr :frowning:

Ich vermute, dass Reinhard den folgenden Link zur Beschreibung eines AddIns meint, das mit grossen (langen) Zahlen rechnen kann:

http://www.rendar.de/lzr.htm

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Bingo

Ich vermute, dass Reinhard den folgenden Link zur Beschreibung
eines AddIns meint, das mit grossen (langen) Zahlen rechnen
kann:
http://www.rendar.de/lzr.htm

Grüezi Thomas,

danke dir für deinen Griff in deine Schatztruhe :smile:
Ja, das isser.

Gruß
Reinhard

Hallo,

dass muss ich mir mal in Ruhe angucken :wink:
Danke

Tobi@s