Quersummen im C64-Basic berechnen?

There are 26 replies in this Thread which has previously been viewed 5,384 times. The latest Post (September 4, 2019 at 11:50 PM) was by JeeK.

  • also ich finde eine String-Variante hat einen entscheidenden Vorteil, der mit Zahlen nicht möglich ist:

    die routine funktioniert auch mit zB. 70 stellen

  • die routine funktioniert auch mit zB. 70 stellen

    Absolut! Sogar bis zu maximal 255 Stellen. :D

    Nachdem der Thread-Ersteller (wenn ich mich recht erinnere) nicht so genau seine Anforderungen hinsichtlich der Zahlengröße angegeben hat, ist die nummerische Lösung zumindest für ihn nicht wirklich schlechter, zumal er ja bei seinem Beispiel von einer Zahl ausgeht ...

  • jetzt muss ICH mal ganz daehmlich fragen was wenn man eine FLP nummer eingiebt?

    val macht doch da eine INT draus oder, dann stimmt doch das ergebniss nich oder?

    ka aber ich hab so ein gefuehl in der blase das quersummen auch ueber kommas hinaus gelden.

    warn die nich dazu da um heraus zubekommen durch welche vielfache eine zahl geteilt werden kann ohne "rest"?

    koenntet ihr mich mal aufklaehren, bitte.

  • val macht doch da eine INT draus oder, dann stimmt doch das ergebniss nich oder?

    INT() macht INTeger aus Kommazahlen, VAL() wandelt eine Zeichenkette aus Zahlen in einen numerischen Datentyp um.

    Please login to see this picture.

    '°'°'°'°'°'°'°'°'°Oo.~>| BASIC programmers never die! They just GOSUB without RETURN! |<~.oO°'°'°'°'°'°'°'°'°'

  • warn die nich dazu da um heraus zubekommen durch welche vielfache eine zahl geteilt werden kann ohne "rest"?

    die Regel der Quersumme zur Überprüfung einer Teilung ohne Rest gilt "nur" für 3 und 9

    jetzt muss ICH mal ganz daehmlich fragen was wenn man eine FLP nummer eingiebt?

    val macht doch da eine INT draus oder, dann stimmt doch das ergebniss nich oder?

    ka aber ich hab so ein gefuehl in der blase das quersummen auch ueber kommas hinaus gelden.

    wenn jede einzelne stelle des strings mit val() behandelt wird, ist es völlig blunz'n wo das komma steht.

  • ka aber ich hab so ein gefuehl in der blase das quersummen auch ueber kommas hinaus gelden.

    Ergänzend zum Vorposting von "i u s" : Du meinst das VAL() bei Eingabe beim nummerischen Ansatz. Das VAL() beim Aufsummieren betrachtet ja nur Ziffern, Nichtziffern wie "." ergeben 0 und bleiben damit neutral für die Quersumme.

    Im Falle der nummerischen Methode, könnte auch als Eingabe 1e6 angeben und es wird richtigerweise die Quersumme 1 (von 1000000) berechnet. In der String-Variante wird der Exponent dazu gerechnet und es kommt zum falschen Ergebnis 7. Noch "falscher" ist dann der String-Ansatz auf ASC()-Basis, wo "e" einen Beitrag leistet (69-48), also 21 auf die Quersumme aufschlägt. X/

    Edited once, last by JeeK: Referenz (September 4, 2019 at 11:56 PM).