Français
Source/ Codesnippets

Checksummenbildung vereinfacht: Fletcher-Algorithmus

 

p.specht

"Fletcher's Checksum" (aussi que z.B. Adlers Checksum) bildet une positionsabhängige Checksumme - entier im Sinne einer sog. CRC ("Zyklische Redundanz")-somme, allerdings avec viel moins Rechenaufwand. qui nachstehende Algorithmus wurde de John G. Fletcher dans den 1970il-Jahren am Lawrence Livermore Institute entwickelt - pour Atombombentests ...
proc FletcherChecksum :parameters DataMsg$

    ' sans chacun Gewähr, insb. peut Rechte Dritter bestehen!
    var Length_of_Data&=len(DataMsg$)
    declare c1&,c2&,c3&, i& ,S1&,S2&,S3&,S4&

    whileloop Length_Of_Data&

        c1&=c1&+ord(Mid $(DataMsg$,&loop,1))
        c1&=c1& & $00ff :c2&=c2&+c1&:c2&=c2& & $00ff
        Endwhile :c3&=c2&:c2&=c2&>>4 :c2&=c2& & $0f

        si c2&>=$0A :S1&=c2&+ $37 :d'autre :S1&=c2&+$30

            endif:c2&=c3& & $0f

            si c2&>= $0a:S2&=c2&+ $37 :d'autre :S2&=c2&+ $30

                endif:c3&=c1&:c1&=c1&>>4 :c1&=c1& & $0f

                si c1&>= $0a :S3&=c1&+ $37 :d'autre :S3&=c1&+ $30

                    endif :c1&=c3& & $0f

                    si c1&>=$0a:S4&=c1&+ $37 :d'autre :S4&=c1&+ $30

                        endif:return chr$(s1&)+chr$(s2&)+chr$(s3&)+chr$(s4&)

                    endproc

                    CLS
                    Selbsttest:
                    cas FletcherChecksum("5522 18 1137 00 003")<>"1C76":imprimer "Error 1"
                    cas FletcherChecksum("5522 18 3137 00 003")<>"3278":imprimer "Error 2"
                    cas FletcherChecksum("5522 18 1130 00 002")<>"E36E":imprimer "Error 3"
                    cas FletcherChecksum("5522 18 1401 00 001")<>"ED6E":imprimer "Error 4"
                    cas FletcherChecksum("5522 18 1302 00 003")<>"ED70":imprimer "Error 5"
                    cas FletcherChecksum("5522 18 1302 00 004")<>"EE71":imprimer "Error 6"
                    cas FletcherChecksum("5522 18 1302 00 009")<>"F376":imprimer "Error 7"
                    cas FletcherChecksum("5522 18 3147 00 009")<>"417F":imprimer "Error 8"
                    cas FletcherChecksum("5522 18 1137 00 004")<>"1D77":imprimer "Error 9"
                    cas FletcherChecksum("5522 18 3137 00 009")<>"3379":imprimer "Error 10"
                    cas FletcherChecksum("5522 18 1602 00 000")<>"0870":imprimer "Error 11"
                    imprimer "\n Fletchertest 10 ergibt korrekterweise";
                    imprimer " ";FletcherChecksum("5522 18 3137 00 009");" statt '3379'."
                    imprimer " Es pourrait sich um une Eingabefehler chez den Testwerten agir!"
                    beep: imprimer "\n Fletcher-Test done.\n"
                    waitinput:FIN
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
19.05.2021  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.442 Views

Untitledvor 0 min.
Rschnett06.08.2022
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie