Español
Fuente/ Codesnippets

Checksummenbildung vereinfacht: Fletcher-Algorithmus

 

p.specht

"Fletcher's Checksum" (ebenso como z.B. Adlers Checksum) bildet una positionsabhängige Checksumme - bastante en el Sinne uno sog. CRC ("Zyklische Redundanz")-Summe, allerdings con viel weniger Rechenaufwand. Der nachstehende Algorithmus wurde de John G. Fletcher en el 1970él-Jahren al Lawrence Livermore Institute entwickelt - para Atombombentests ...
proc FletcherChecksum :parámetros DataMsg$

    ' Ohne jede Gewähr, insb. puede Rechte Dritter bestehen!
    var Length_of_Data&=len(DataMsg$)
    declarar c1&,c2&,c3&, i& ,S1&,S2&,S3&,S4&

    whileloop Length_Of_Data&

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

        if c2&>=$0A :S1&=c2&+ $37 :más :S1&=c2&+$30

            endif:c2&=c3& & $0f

            if c2&>= $0a:S2&=c2&+ $37 :más :S2&=c2&+ $30

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

                if c1&>= $0a :S3&=c1&+ $37 :más :S3&=c1&+ $30

                    endif :c1&=c3& & $0f

                    if c1&>=$0a:S4&=c1&+ $37 :más :S4&=c1&+ $30

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

                    ENDPROC

                    CLS
                    Selbsttest:
                    caso FletcherChecksum("5522 18 1137 00 003")<>"1C76":imprimir "Error 1"
                    caso FletcherChecksum("5522 18 3137 00 003")<>"3278":imprimir "Error 2"
                    caso FletcherChecksum("5522 18 1130 00 002")<>"E36E":imprimir "Error 3"
                    caso FletcherChecksum("5522 18 1401 00 001")<>"ED6E":imprimir "Error 4"
                    caso FletcherChecksum("5522 18 1302 00 003")<>"ED70":imprimir "Error 5"
                    caso FletcherChecksum("5522 18 1302 00 004")<>"EE71":imprimir "Error 6"
                    caso FletcherChecksum("5522 18 1302 00 009")<>"F376":imprimir "Error 7"
                    caso FletcherChecksum("5522 18 3147 00 009")<>"417F":imprimir "Error 8"
                    caso FletcherChecksum("5522 18 1137 00 004")<>"1D77":imprimir "Error 9"
                    caso FletcherChecksum("5522 18 3137 00 009")<>"3379":imprimir "Error 10"
                    caso FletcherChecksum("5522 18 1602 00 000")<>"0870":imprimir "Error 11"
                    imprimir "\n Fletchertest 10 ergibt korrekterweise";
                    imprimir " ";FletcherChecksum("5522 18 3137 00 009");" en lugar de '3379'."
                    imprimir " Lo podría son una Eingabefehler en el Testwerten handeln!"
                    beep: imprimir "\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


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

1.445 Views

Untitledvor 0 min.
Rschnett06.08.2022
p.specht21.11.2021
R.Schneider20.11.2021
Uwe Lang20.11.2021
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie