sYnapSe
2011-01-05, 12:36:58
Hallo liebe User,
für mein Studienprojekt, soll mit Hilfe des Satzes von Legendre, die Quersumme einer zuvor berechneten Binärzahl berechnet werden. Leider ist dieser Weg vorgeschrieben, weshalb es sich für mich nicht einfach gestaltet, herauszufinden, weshalb mir ab einem gewissen Wert nur noch falsche Zahlen ausgerechnet werden. Aus diesem Grund wende ich mich an euch.
Die Formel lautet wie folgt:
QuerSummeBin := n - (k - 1) * http://img145.imageshack.us/img145/2426/unbenannt2ae.jpg
Es handelt sich um folgenden Code:
Public Function QuerSummeBin(DezZuBin As String) As Variant
Dim i As Integer
Dim n As Variant
Dim k As Integer
Dim Summe As Variant
Dim Schleife As Variant
n = Val(DezZuBin)
Summe = 0
i = 1
k = 10
Do
Summe = Fix(n / k ^ i)
Schleife = Schleife + Summe
i = i + 1
Loop Until Summe = 0
QuerSummeBin = n - (k - 1) * Schleife
End Function
Zur Erklärung: DezZuBin ist hier der Binärcode, welcher in einer vorherigen Function bereits berechnet und als String übergeben wurde. Hierbei handelt es sich also ausschließlich um 0 und 1.
Der Rest müsste eigentlich aus dem Code schon ersichtlich sein.
Wie schon kurz angedeutet, ist der Ausgabewert bei 17 Stellen des Binärwertes richtig. Alles darüber ergibt wirre Werte.
Hat jemand vielleicht eine Idee woran das liegen könnte? In Excel kann man ja Variablen in die Überwachung hinzufügen. Meiner Meinung nach, werden alle Rechnungen in der Schleife korrekt ausgeführt. Erst am Schluss entsteht dieser seltsame Wert.
Mit freundlichem Gruß!
für mein Studienprojekt, soll mit Hilfe des Satzes von Legendre, die Quersumme einer zuvor berechneten Binärzahl berechnet werden. Leider ist dieser Weg vorgeschrieben, weshalb es sich für mich nicht einfach gestaltet, herauszufinden, weshalb mir ab einem gewissen Wert nur noch falsche Zahlen ausgerechnet werden. Aus diesem Grund wende ich mich an euch.
Die Formel lautet wie folgt:
QuerSummeBin := n - (k - 1) * http://img145.imageshack.us/img145/2426/unbenannt2ae.jpg
Es handelt sich um folgenden Code:
Public Function QuerSummeBin(DezZuBin As String) As Variant
Dim i As Integer
Dim n As Variant
Dim k As Integer
Dim Summe As Variant
Dim Schleife As Variant
n = Val(DezZuBin)
Summe = 0
i = 1
k = 10
Do
Summe = Fix(n / k ^ i)
Schleife = Schleife + Summe
i = i + 1
Loop Until Summe = 0
QuerSummeBin = n - (k - 1) * Schleife
End Function
Zur Erklärung: DezZuBin ist hier der Binärcode, welcher in einer vorherigen Function bereits berechnet und als String übergeben wurde. Hierbei handelt es sich also ausschließlich um 0 und 1.
Der Rest müsste eigentlich aus dem Code schon ersichtlich sein.
Wie schon kurz angedeutet, ist der Ausgabewert bei 17 Stellen des Binärwertes richtig. Alles darüber ergibt wirre Werte.
Hat jemand vielleicht eine Idee woran das liegen könnte? In Excel kann man ja Variablen in die Überwachung hinzufügen. Meiner Meinung nach, werden alle Rechnungen in der Schleife korrekt ausgeführt. Erst am Schluss entsteht dieser seltsame Wert.
Mit freundlichem Gruß!