Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
84 hoch 200 Wie schnell lässt sich das auflösen?
Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8  Weiter
zurück: Kleines Problemchen mit Uhr^^ weiter: Formatierung von Inhalten bei gleichem Inhalt Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Diskussion Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Heinz Schweigert
.


Verfasst am:
13. Sep 2010, 16:34
Rufname: Heinz

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Gandalf

Wir müssen in dem thread ein bisschen auf unsere Darstellungen achten, wenn wir
lange Zahlenstrings reinstellen, sonst zerschiesst es das Seitenformat und lesen wird
so schwierig. Wink

Also da hatte mich die Darstellung deiner Jeannie irritiert. Da rechtsbündig dachte
ich du hättest in B3 tatsächlich eine Zahl stehen, und excel 2007 oder 2010 könnte
das vielleicht.
Sobald du einen Textstring zur Zahl umwandelst, schlägt excel mit seiner Rundung
zu, wenn der String mehr als 15 Stellen hat. Das ist die Rechengenauigkeit die excel
mitbringt, und daran läßt sich auch nichts ändern. Somit rechnet excel mit dem Wert
wie er dargestellt ist, und das ist die momentan die Exponentialdarstellung, die
man aber im Programm noch umwandeln könnte. So oder so, wärs nicht das
Ergebnis das man eigentlich will, deshalb besser große Zahlen von haus aus als
Text übergeben.

Mit dem Programm Karatsuba, mit dem ich momentan teste, lassen sich nur Ganzzahlen
verarbeiten. Da ist nichts eingebaut, was das Komma auslesen würde. Vorerst
gehts - zumindest mir - erst mal darum ein schnelles Verfahren herauszufinden,
was man dann am Ende alles berechnen kann, kann man dann mit dem fertigen
Grundcode sehen und entsprechend erweitern.

Ob ich jedoch soweit gehe, weiß ich nicht, weil mir gehts eigentlich ja nur um das
Verfahren Razz aber ich denke maninweb wird das sicher im addin mit aufnehmen.

Was ich gestern übrigens sagte über mlfhSubstract stimmt möglicherweise doch
nicht. Bin mir nicht sicher. Da hab ich nen Fehler in der String-Zerlegung und -Zusammensetzung,
kann ihn aber nicht finden, weil er offenbar nur bei einer bestimmten Ziffernkonstellation
im string auftritt. Mal sehen ob ichs noch hinkrieg.

Grüße Heinz
Heinz Schweigert
.


Verfasst am:
14. Sep 2010, 18:44
Rufname: Heinz


AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Zusammen

Der Fehler lag in der Addition Rolling Eyes

Anyway, Fehler nun behoben, mlfhsubstract um die Blockbildung erweitert, und damit bei 84^32768 nochmal eine Minute herausgeschunden. Neue Zeitergebnisse:

 ABCDEFG
1   Alte VersionNeue Version
2 Erg.LängePotenzZerlege Potenzpower-squaringZerlege Potenzpower-squaring
3       
4 420000
5 840000
6 1470000
7 1680000
8 31160000
9 56290,0160,0160,0160,016
10 62320000
11 124640,0310,0310,0310,031
12 2471280,0940,0940,0940,078
13 4932560,2810,2660,250,25
14 9865120,8750,8440,7970,813
15 197110242,6252,6562,3752,391
16 3849200011,469910,5317,172
17 394120487,9847,8447,1417,141
18 7882409623,71923,65621,65621,688
19 15764819271,571,71965,04764,875
20 3152816384214,563214,063195,266195,668
21 6305532768656648,547591,344590,313


...und hoffentlich jetzt immer richtige Ergebnisse. Hier nochmal der ganze Code um auch die kleinen Änderungen dabei zu haben. Aufruf, daran hat sich nichts geändert.
Code:
'
' Copyright  : 2009 by Maninweb.de - www.excelsharp.de
'
' Version    : 0100
'
' Disclaimer : Dieser Code wurde zu Demonstrationszwecken
'              entwickelt und ist nicht für den Einsatz
'              in Echtprojekten vorgesehen.
'
' von mir eingefügt:
' Neuerungen : Blockbildungen für mlfhadd und mlfhsubstract
'              Fehler in mlfhadd behoben
'              Aufrufe von mlfhadd und mlfhsubstract vermindert
'               durch Erweiterung von Karatsuba
' .......................................................
 
' Options...
 
  Option Explicit

  Const Step_a As Single = 14
 
' Hilfsfunktionen...
 
  Private Function mlfhAdd(x As String, y As String) As String
   
Dim a As String
Dim b As String
Dim c As Long

Dim n As Long
Dim p As Long
Dim pp As Single
Dim q As Long
       
Dim r As String
Dim r_extend1 As String
Dim r_extend2 As String

Dim Step_a_variable As Double
Dim x1 As String, y1 As String
Dim r2 As String
   
x1 = x
y1 = y

'   Max...
   
    M_Maximum x1, y1, r_extend1
   
Step_a_variable = String(Step_a, CStr(9)) * 1
   
'   Loop...
   
For n = Len(x1) - Step_a + 1 To 1 Step -Step_a
     
'     First...
     
    a = Mid(x1, n, Step_a)
    b = Mid(y1, n, Step_a)
    r2 = CDec((0 & a) * 1 + (0 & b) * 1 + c)
'     Carry...
    If Len(CStr(r2)) <Step_a> Step_a_variable Then
       
        r = CStr(Right(r2, Step_a)) & r
        c = 1
       
    Else
       
        r = CStr(r2) & r
        c = 0
       
    End If
     
Next n
   
'   Check...
   
If c = 0 Then
     
    r = r_extend1 & r
   
Else
    If r_extend1 <> "" Then
        r_extend2 = "9"
    End If
    n = 0
    Do While r_extend2 = "9" And Len(r_extend1) - n > 0
        r_extend2 = Mid(r_extend1, Len(r_extend1) - n, 1)
        n = n + 1
    Loop
    If Len(r_extend1) - n = 0 Then
        r_extend1 = ""
    Else
        r_extend1 = Left(r_extend1, Len(r_extend1) - n)
    End If
   
    r_extend2 = CStr((0 & r_extend2) * 1 + c)
    If n > 1 Then
        r_extend2 = r_extend2 & String(n - 1, CStr(0))
    End If
   
    r = r_extend1 & r_extend2 & r
     
End If
   
'   Clear...
   
For n = 1 To Len(r)
   
'     Check...
     
    If CLng(Mid(r, n, 1)) <> 0 Then
     
        Exit For
     
    End If
     
'     Increase...
     
    q = q + 1
     
Next n
   
'   Check...
   
If q > 0 Then
     
    r = Right(r, Len(r) - q)
     
End If
   
'   Return...
   
    mlfhAdd = r
   
End Function

Private Function mlfhSubstract(x As String, y As String) As String
   
Dim a As String
Dim b As String
Dim c As Long
Dim n As Long
Dim p As Long
Dim q As Long
       
Dim r As String
Dim r_extend1 As String
Dim r_extend2 As String

Dim x1 As String, y1 As String
Dim r2 As String
   
x1 = x
y1 = y

'   Max...
   
M_Maximum x1, y1, r_extend1
   
'   Loop...
   
For n = Len(x1) - Step_a + 1 To 1 Step -Step_a
     
'     First...
     
    a = Mid(x1, n, Step_a)
    b = Mid(y1, n, Step_a)
    r2 = CDec((0 & a) * 1 - (0 & b) * 1 - c)
'     Carry...
     
    If Left(r2, 1) = "-" Then
        If n > 1 Or r_extend1 <> "" Then
            a = CDec((1 & String(Step_a, CStr(0))) * 1 + (0 & a) * 1)
        Else
            a = CDec(1 & (0 & a) * 1)
        End If
       
        r2 = CDec((0 & a) * 1 - (0 & b) * 1 - c)
        c = 1
    Else
        c = 0
    End If
       
    If Len(CStr(r2)) <Step_a> 1 Then
        r2 = String(Step_a - Len(r2), CStr(0)) & r2
    End If
       
    r = CStr(r2) & r
       
Next n
   
'   Check...
   
If c = 0 Then
     
    r = r_extend1 & r
   
Else
   
    r_extend2 = "0"
    n = 0
    Do While r_extend2 = "0" And Len(r_extend1) - n > 0
        r_extend2 = Mid(r_extend1, Len(r_extend1) - n, 1)
        n = n + 1
    Loop
    If Len(r_extend1) - n = 0 Then
        r_extend1 = ""
    Else
        r_extend1 = Left(r_extend1, Len(r_extend1) - n)
    End If
   
    r_extend2 = CStr(r_extend2 * 1 - c)
    If n > 1 Then
        r_extend2 = r_extend2 & String(n - 1, CStr(9))
    End If
   
      r = r_extend1 & r_extend2 & r
     
End If
   
'   Clear...
   
    For n = 1 To Len(r)
   
'     Check...
     
      If CLng(Mid(r, n, 1)) <> 0 Then
       
        Exit For
       
      End If
     
'     Increase...
     
      q = q + 1
     
    Next n
   
'   Check...
   
    If q > 0 Then
     
      r = Right(r, Len(r) - q)
     
    End If
   
'   Return...
   
    mlfhSubstract = r
   
  End Function
Public Sub M_Maximum(x1 As String, y1 As String, r_extend1 As String)
Dim p As Long
Dim pp As Long

If Len(x1) > Len(y1) Then
    p = Len(y1)
Else
    p = Len(x1)
End If

pp = p + (Step_a - (p Mod Step_a)) * ((p Mod Step_a) > 0) * -1

If Len(x1) > pp Then
    r_extend1 = Mid(x1, 1, Len(x1) - pp)
    x1 = Right(x1, pp)
Else
    x1 = String(pp - Len(x1), CStr(0)) & x1
End If

If Len(y1) > pp Then
    r_extend1 = Mid(y1, 1, Len(y1) - pp)
    y1 = Right(y1, pp)
Else
    y1 = String(pp - Len(y1), CStr(0)) & y1
End If

End Sub
 
  Private Function mlfhMax(x As Long, y As Long) As Long
 
    If x < y Then
     
      mlfhMax = y
     
    Else
     
      mlfhMax = x
     
    End If
   
  End Function
 
' Karatsuba...
  Public Function mlfpKaratsuba(First As String, _
                                Second As String) As String
   
    Dim a As String
    Dim b As String
    Dim c As String
    Dim d As String
    Dim r As String
   
    Dim x As String
    Dim y As String
    Dim z As String
   
    Dim n As Long
    Dim p As Long
   
    Dim proof As Boolean
    Dim o As String, oo As String
   
    'Step_a = 14
'   Length...
   
    n = mlfhMax(Len(First), Len(Second))
    n = n + n Mod 2
    n = n / 2
   
'   Check...
   
    If n < 2 Then
     
'     Return...
     
      mlfpKaratsuba = CStr(CLng(CStr(0) & First) * _
                      CLng(CStr(0) & Second))
     
'     Exit..
     
      Exit Function
     
    End If
   
'   Decompose...
   
    If 2 * n > Len(First) Then
   
      a = Left(String(2 * n - Len(First), CStr(0)) & First, n)
      b = Right(First, n)
     
    Else
     
      a = Left(First, n)
      b = Right(First, n)
     
    End If
   
    If 2 * n > Len(Second) Then
   
      c = Left(String(2 * n - Len(Second), CStr(0)) & Second, n)
      d = Right(Second, n)
     
    Else
     
      c = Left(Second, n)
      d = Right(Second, n)
     
    End If
   
'   Recurse...
   
    x = mlfpKaratsuba(a, c)
    y = mlfpKaratsuba(b, d)
    proof = (Len(a) <= Step_a)
    proof = proof * (Len(b) <= Step_a)
    If proof Then
        o = CDec((0 & a) * 1 + (0 & b) * 1)
    Else
        o = mlfhAdd(a, b)
    End If
    proof = (Len(c) <= Step_a)
    proof = proof * (Len(d) <= Step_a)
    If proof Then
        oo = CDec((0 & c) * 1 + (0 & d) * 1)
    Else
        oo = mlfhAdd(c, d)
    End If

    z = mlfpKaratsuba(o, oo)
   
'   Calculate...
   
    a = x & String(2 * n, CStr(0))
   
    proof = (Len(y) <= Step_a)
    proof = proof * (Len(x) <= Step_a)
    If proof Then
        b = CDec((0 & y) * 1 + (0 & x) * 1)
    Else
        b = mlfhAdd(y, x)
    End If
   
    proof = (Len(z) <= Step_a + 1)
    proof = proof * (Len(b) <= Step_a + 1)
    If proof Then
        b = CDec((0 & z) * 1 - (0 & b) * 1)
    Else
        b = mlfhSubstract(z, b)
    End If
   
    b = b & String(n, CStr(0))
   
'   Result...
    proof = (Len(a) <= Step_a)
    proof = proof * (Len(b) < Step_a)
    If proof Then
        r = CDec((0 & a) * 1 + (0 & b) * 1)
    Else
        r = mlfhAdd(a, b)
    End If
   
    proof = (Len(r) <= Step_a)
    proof = proof * (Len(y) <= Step_a)
    If proof Then
        r = CDec((0 & r) * 1 + (0 & y) * 1)
    Else
        r = mlfhAdd(r, y)
    End If
   
'   Return...
   
    mlfpKaratsuba = r
   
  End Function


@Gandalf
Testversion Kommastellen berücksichtigen mit Karatsuba Razz Hier mal nur für die Addition. Es können auch mehrere Summanden in einem Streich addiert werden. Ab B4 einfach die Summanden eintragen (mind. 2 es wird kein Fehler abgefangen) und "addiere" aufrufen.
Subtrahieren geht nicht weil ich den Tabellenaufbau geändert habe, und Kommastellenberücksichtigung ist dort nicht eingebaut.

Grüße Heinz



Addition großer Zahlen.xls
 Beschreibung:

Download
 Dateiname:  Addition großer Zahlen.xls
 Dateigröße:  58.5 KB
 Heruntergeladen:  14 mal

Janni_07
Heinzelmännchen


Verfasst am:
14. Sep 2010, 20:20
Rufname:

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

'N Abend,

sorry, wenn ich mich mal wieder einmische, aber ich bin eben über diese Aussage von Gandalf gestolpert:
Zitat:
aber es müßte sich doch die Originalzahl wiederherstellen lassen indem man die Zahl (1,81310760453551)*e^44 nimmt.
(e = 2.71828182845904523536028747135266.)

Nein!!!!!!!!!!!!! Wenn Excel "1,813E+44" schreibt, dann hat das absolut gar nix mit der Eulerschen Zahl e zu tun!!!!!
"1,813E+44" bedeutet "1,813 * 10^44" und nicht "1,813 * e^44"

_________________
Tschüss Janni
gandalf149
Im Profil kannst Du frei den Rang ändern


Verfasst am:
14. Sep 2010, 22:03
Rufname:
Wohnort: Fiersbach

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Jani

da hast du natürlich recht

E ist nicht gleich e

ich hatte nur zwei Berechnungen laufen und wollte e^44 mit diesem Programm ausrechnen und habe dann festgestellt das dies nicht geht (warum hat Heinz ja schon dargelegt)

Habe dann aber fälschlicherweise das auch hier bei der Expotientalzahl reingeschrieben.

Rein mathematisch gesehen stimmt aber die Aussage

1,81311*10^16 = 18131076045355134

nicht, denn es wird zunächst gerundet und dann das Komma um 10^16 Stellen nach links verschoben. (nachzuvollziehen über =RUNDEN(C8;15) wobei C8 jetzt die oben angegebene Zahl ist)

Ohne Rundung wäre es dann kein Problem die Originalzahl wiederherzustellen.

mit Rundung geht das aber nicht und daher mein anderer Beitrag.

Gruß Gandalf149

_________________
Jedes Kind ist ein Künstler. Das Problem ist nur, wie man einer bleibt, wenn man erwachsen wird.
Pablo Picasso
Heinz Schweigert
.


Verfasst am:
15. Sep 2010, 12:46
Rufname: Heinz


AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo

Fertig. Noch ein paar Sachen angepasst, und das was Karatsuba an Funktionen/Hilfsfunktionen mitbringt ausgenutzt.

Dynamische Berechnung von 2 und mehr Werten als
    Addition
    Subtraktion (von Wert in B4, werden die darunterstehenden Werte abgezogen)
    Multiplikation

Berechnung
    Potenz

Der Potenzwert, darf nur eine Ganzzahl sein, ansonsten sind auch Dezimalzahlen zulässig.

Schönes Spielzeug Razz

Grüße Heinz



Addition-Subtraktion-Multiplikation-Potenzen großer Zahlen.xls
 Beschreibung:

Download
 Dateiname:  Addition-Subtraktion-Multiplikation-Potenzen großer Zahlen.xls
 Dateigröße:  116 KB
 Heruntergeladen:  23 mal

gandalf149
Im Profil kannst Du frei den Rang ändern


Verfasst am:
19. Sep 2010, 13:11
Rufname:
Wohnort: Fiersbach

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Heinz

das ist ja nochmal schneller geworden,

doch bei sehr großen Zahlen gibt es irgendwie Problleme

wo die her kommen kann ich aber nicht genau sagen.

Es kommt Laufzeitfehler und markiert ist im Modul

Code:
Public Function mlfhAdd(x As String, y As String) As String

diese Stelle

Code:
 If Len(CStr(r2)) < Step_a Then
        r2 = String(Step_a - Len(r2), CStr(0)) & r2


hatte zunächst gedacht es könnte am Speicher liegen

hatte dann aber die Gelegenheit auf einem Rechner mit 8GB Arbeitsspeicher

und 16 GB Auslagerungsdatei zu testen und auch dort tritt der Fehler auf.

Könnte es sein , das bei der Addition eine Beschränkung der Länge oder

der Anzahl der Summanden gibt.

Gruß Gandalf149

_________________
Jedes Kind ist ein Künstler. Das Problem ist nur, wie man einer bleibt, wenn man erwachsen wird.
Pablo Picasso
Heinz Schweigert
.


Verfasst am:
20. Sep 2010, 08:07
Rufname: Heinz

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Gandalf

Hm, wo der Fehler herkommt kann ich jetzt so nicht sagen. Kannst Du mir das Beispiel geben was du berechnen wolltest?

Du könntest auch evtl. nachsehen, welche Werte zum Zeitpunkt des Fehlers r2 und Len(r2) haben. Die Zeile die der debugger anmeckert, macht ja nichts anderes als ein Rechenergebnis (r2) mit Nullen aufzufüllen, um wieder einen 14-stelligen string zu erhalten. Was daran ein Problem aufwerfen soll, kann ich mir nicht vorstellen Question

Grüße Heinz

PS: Länge des Ergebnisstrings ist begrenzt durch die Zeichenanzahl die in den Typ string reinpassen. Ich meine irgendwo gelesen zu haben, dass sogar mehr als 1 Million Zeichen reinpassen, kann mich aber auch täuschen, war ein bisschen verwirrend und vermixt mit Limitationen in VB

Anzahl der Summanden hat allerdings ein Begrenzung, durch den Schleifenzähler:
Code:
Sub Pruefe(arr As Variant, a As Long)
Dim n As Integer...

Damit 32.768 Summanden, wenn man jedoch dies auf Long umändert dann gehts auch mit mehr Razz , ich dachte das braucht man nicht Embarassed Wink
gandalf149
Im Profil kannst Du frei den Rang ändern


Verfasst am:
20. Sep 2010, 10:31
Rufname:
Wohnort: Fiersbach

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Heinz

Im Normalfall braucht man diese hohen Potenzen sicher nicht

es ging nur um die Million Zeichen in einem String zu erzeugen.

Mit 84^262144 ist es ja gelungen 504440 Zeichen zu erzeugen

die nächste Stufe wäre dann

84^524288 die etwa 1008896 Zeichen haben sollte

Leider konnte ich auch nicht mehr nachvollziehen wann es passiert ist,

da keine Systemmeldung gespeichert wurde.

Nur wenn du sagst das bei 32768 Summanden die Grenze der Schleife

erreicht ist, wäre das bestimmt der Grund da diese ja wohl überschritten wird

Gruß Gandalf149

_________________
Jedes Kind ist ein Künstler. Das Problem ist nur, wie man einer bleibt, wenn man erwachsen wird.
Pablo Picasso
Heinz Schweigert
.


Verfasst am:
20. Sep 2010, 16:57
Rufname: Heinz

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Gandalf

Die "Begrenzung Summanden" hast du jetzt falsch verstanden. Das bezieht sich nur darauf, dass du bei "Addition" nicht mehr als 32.768 Summanden untereinander in Spalte B eingeben kannst, weil sonst der angebene Schleifenzähler als Integer nicht mehr mitspielt. Innerhalb einer Berechnung, wie z.B. Potenz, ist der Aufruf der Function mlfhadd faktisch unbegrenzt, und wird bereits bei einer Potenz von 84^4000 mehr als 1 Million mal aufgerufen, und das dürfte eigentlich keine Probleme bereiten.

Wie Max bereits in "Mal sich selbst" erwähnte, passen jedoch offenbar in einen string nur 1 Million Zeichen, d.h. man müßte dann den string zerlegen. Was mich jedoch irritiert: r2 kann nicht länger als maximal 15 Zeichen werden, da es sich ja nur um einen Teilstring handelt. Weshalb markiert also der debugger diese Zeile? Es würde eher auf einen anderen Fehler hindeuten, und deshalb wäre es zunächst wichtig zu wissen, was stand in dem Moment in r2 und was ist der Wert von Len(r2) also die Zeichenlänge. Denn der einzige Fehler den ich mir in der Zeile vorstellen kann wäre, dass Step_a - len(r2) einen negativen Wert ergibt, was jedoch durch die Einbettung in die If-Abfrage eigentlich nicht passieren darf. Es sei denn, dass Len(Cstr(r2)) einen anderen Wert ergibt, als Len(r2), hm... Question

Grüße Heinz
gandalf149
Im Profil kannst Du frei den Rang ändern


Verfasst am:
20. Sep 2010, 20:53
Rufname:
Wohnort: Fiersbach

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Heinz

habe das jetzt noch mal getestet mit 80^65536 (lief durch in 1160 sec)

mit 80^131072 (war ja früher durchgelaufen)

kommt Laufzeitfehler 13

Typen unverträglich

markiert ist in

Code:
Public Function mlfhAdd(x As String, y As String) As String


diese Stelle

Code:
r2 = CDec((0 & a) * 1 + (0 & b) * 1 + c)


es könnte sein das es auch vorher an dieser Stelle war, und ich falsche
Info hatte.

Die Werte

r2 188207700914411
0&a 058189755628469
a 58189755628469
0&b 00000000-199999
c 1

Vielleicht sagt dir das ja mehr

Gruß Gandalf149

_________________
Jedes Kind ist ein Künstler. Das Problem ist nur, wie man einer bleibt, wenn man erwachsen wird.
Pablo Picasso
Heinz Schweigert
.


Verfasst am:
21. Sep 2010, 06:11
Rufname: Heinz

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Oweh, Gandalf

Das sind ja ganz schlechte Nachrichten, das wundert mich nicht dass der Code in nen Fehler läuft. Der Grund ist der Wert von b:
Zitat:
0&b 00000000-199999

Da ist der Wurm drin, da ergab sich ein negatives Ergebnis in mflhsubstract (was beim Potenzrechnen nicht vorkommen kann), und das wurde mit Nullen aufgefüllt.

Ich werd mir das nochmal angucken, wird aber etwas dauern, so unter der Woche hab ich nicht genug Zeit Sad Jedenfalls danke, weil das sind genau die Angaben die ich brauche.

Grüße Heinz
gandalf149
Im Profil kannst Du frei den Rang ändern


Verfasst am:
21. Sep 2010, 19:31
Rufname:
Wohnort: Fiersbach

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Heinz

kein Problem, Rom wurde ja auch nicht in einem Tag gebaut

Gruß Gandalf149

_________________
Jedes Kind ist ein Künstler. Das Problem ist nur, wie man einer bleibt, wenn man erwachsen wird.
Pablo Picasso
Heinz Schweigert
.


Verfasst am:
26. Sep 2010, 07:22
Rufname: Heinz

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Gandalf

Öh Rolling Eyes , welchen Code hast Du denn da erwischt bei dem der Fehler auftritt? Nachdem mir so auf Anhieb nichts besonderes auffiel, hab ich die Rechenaufgabe einfach mal durchlaufen lassen:

Für 80^131072 wurde mir nach 3484 Sekunden ein Ergebnis mit 249.442 Stellen ausgegeben. Ausser dass die Zelle protestierte den string darzustellen trat kein Fehler auf Question Exclamation

Ich kann jetzt demnach nichts dazu sagen. Würde vorschlagen du nimmst den letzten download
  • füllst B4 und C4 mit den Zahlen aus
  • gehst ins "Modul_allgemein"
  • dort die Sub "Anzeige"
  • und Kommentierst die Ausgabe in der Zelle aus:

Code:
.
.
.
With ThisWorkbook.Worksheets(1)
    '.Cells(2, 2).Value = "'" & r
    .Cells(2, 1).Value = l
End With
.
.
.

Mit Aufruf "Potenz" berechnen lassen.
Wenn Du willst kannst du im Modul MLP_Maninweb, in der Public Function mlfhSubstract einen Stop setzen, hier:
Code:
.
.
.
If Left(r, 1) = "-" Then
    Stop
    negativ = True
End If
.
.
.

Für den Fall der Fälle, dass tatsächlich ein negatives Ergebnis bei der Subtraktion rauskommt, würde dann der Code dort stehenbleiben. Dann kann man nachsehen was zu diesem Zeitpunkt x und y für einen Wert haben, und diese dann manuell nachrechnen, und mit r vergleichen.

Derweilia, zuck ich unschuldig mit der Schulter Razz

Grüße Heinz
gandalf149
Im Profil kannst Du frei den Rang ändern


Verfasst am:
26. Sep 2010, 17:22
Rufname:
Wohnort: Fiersbach

AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

hallo Heinz

ich hatte schon deine letzte Datei benutzt

habe es gerade nochmal probiert und den Stop eingebaut

und r ="-199999999999999999999999999....

r2 = -1

x,y positiv.

Ich laß mal auf Stop stehen falls du noch andere Daten brauchst.

Gruß Gandalf149

_________________
Jedes Kind ist ein Künstler. Das Problem ist nur, wie man einer bleibt, wenn man erwachsen wird.
Pablo Picasso
Heinz Schweigert
.


Verfasst am:
26. Sep 2010, 17:24
Rufname: Heinz


AW: 84 hoch 200 Wie schnell lässt sich das auflösen? - AW: 84 hoch 200 Wie schnell lässt sich das auflösen?

Nach oben
       Version: Office 2003

Hallo Gandalf

Wenn geht gib mir mal x und y die Werte...

Grüße Heinz
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8  Weiter
Diese Seite Freunden empfehlen

Seite 6 von 8
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Berechnen von Hoch- und Niedertarifen bei Ferienhausmiete 2 joe_ma 96 21. Sep 2013, 09:23
joe_ma Berechnen von Hoch- und Niedertarifen bei Ferienhausmiete
Keine neuen Beiträge Excel Formeln: Formel auflösen in Excel - 0 Gleichung 13 Stoef69 229 01. Sep 2013, 08:19
lupo1 Formel auflösen in Excel - 0 Gleichung
Keine neuen Beiträge Excel Formeln: Hierarchie in Parent-Child-Beziehung auflösen 2 mark79 1025 14. Nov 2011, 20:40
Gast Hierarchie in Parent-Child-Beziehung auflösen
Keine neuen Beiträge Excel Formeln: "&"-Verknüpfung lässt sich nicht formatieren 2 Fat-Twin 315 01. Nov 2011, 01:51
Fat-Twin "&"-Verknüpfung lässt sich nicht formatieren
Keine neuen Beiträge Excel Formeln: Nach Formelergebnis lässt sich nicht suchen 3 mikonto 411 31. Okt 2011, 15:06
mikonto Nach Formelergebnis lässt sich nicht suchen
Keine neuen Beiträge Excel Formeln: Gültigkeit mit Dropdown lässt auch beliebige Werte zu 3 Qwertzuiop 620 01. Jul 2011, 10:51
Qwertzuiop Gültigkeit mit Dropdown lässt auch beliebige Werte zu
Keine neuen Beiträge Excel Formeln: Nur die letzten 200 Zeilen für Berechnung? 4 tschiesi 301 21. Jan 2010, 13:17
tschiesi Nur die letzten 200 Zeilen für Berechnung?
Keine neuen Beiträge Excel Formate: Arbeitsblatt sieht anders aus, lässt sich nicht verschieben 8 matze63 1007 23. Nov 2009, 17:51
Gast Arbeitsblatt sieht anders aus, lässt sich nicht verschieben
Keine neuen Beiträge Excel Formeln: Wertetabelle für Potenzfunktionen der Form f(x)=x hoch -5 5 Avicenna 14363 16. Nov 2009, 18:30
Thomas Ramel Wertetabelle für Potenzfunktionen der Form f(x)=x hoch -5
Keine neuen Beiträge Excel Formate: Zahl lässt sich nur als Text filtern 4 Fat-Twin 418 25. Aug 2009, 07:39
Thomas Ramel Zahl lässt sich nur als Text filtern
Keine neuen Beiträge Excel Formeln: Wenn funktion wichtig schnell bitte 3 michaelecki 286 23. Jan 2009, 17:27
Gast Wenn funktion wichtig schnell bitte
Keine neuen Beiträge Excel Formate: Format für Drehzahl 1/min oder min hoch minus 1 2 blicki 7996 25. Sep 2008, 15:31
blicki Format für Drehzahl 1/min oder min hoch minus 1
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Web Editor Forum