Allgemeines Verständnisproblem



  • Hi,

    ich muss eine CRC-Prüfung von ANSI-C nach Access portieren
    und habe nun ein prinzipielles Verständnisproblem.

    Ich weis, dass das Hexadezimalsystem von 0 - F geht.
    Für was steht der nachfolgende Code(ASCII-Zeichen?) und wie
    kann man den in eine binäre bzw. in eine Dezimalzahl umwandeln.
    Vorallem das "L" an der letzte Stelle kann ich nicht zuordnen.

    0xEDB88320L

    Bitte um Hilfe an alle Matheprofies, denn ich bin definitiv keiner. 🙂

    Grüße

    Arndt



  • L=Long(?)

    0xEDB88320L

    Stelle 0 Ziffer 0 => 0160
    Stelle 1 Ziffer 2 => 2
    161
    Stelle 2 Ziffer 3 => 3162
    Stelle 3 Ziffer 8 => 8
    163
    Stelle 4 Ziffer 8 => 8164
    Stelle 5 Ziffer B =>11
    165
    Stelle 6 Ziffer D =>13166
    Stelle 7 Ziffer E =>14
    167
    __________________________________

    Summiere alle zusammen und du hast den Dezimalwert



  • Hi,

    L=Long(?)
    mit "L" meinte ich das letzte Zeichen von 0xEDB88320(L)
    im Programm ist der Wert als Konstante definiert.

    #define CRC32_POLYNOMIAL 0xEDB88320L

    Ein L gibt es im Hexadezimalsystem nicht. Wofür könnte
    das stehen und wie rechnet man dies um?

    Stelle 0 Ziffer 0 => 0160
    Stelle 1 Ziffer 2 => 2
    161
    Stelle 2 Ziffer 3 => 3162
    Stelle 3 Ziffer 8 => 8
    163
    Stelle 4 Ziffer 8 => 8164
    Stelle 5 Ziffer B =>11
    165
    Stelle 6 Ziffer D =>13166
    Stelle 7 Ziffer E =>14
    167


    Summiere alle zusammen und du hast den Dezimalwert

    Das habe ich soweit verstanden denke ich zumindest.
    Und was ist mit dem 0x von (0x)EDB88320L?

    Grüße

    Arndt



  • 0x sagt dem c-compiler einfach nur, dass jetzt eine hexzahl kommt, das kannst du genau so missachten wie das L am ende. für dich sind nur die ziffern 'EDB88320' relevant.



  • 0x sagt dem c-compiler einfach nur, dass jetzt eine hexzahl kommt, das kannst
    du genau so missachten wie das L am ende. für dich sind nur die
    ziffern 'EDB88320' relevant.

    Vielen Dank für deine Hilfe.
    Auch wenn ich das L missachten kann -> wofür steht das?

    Grüße

    Arndt



  • Das L sagt dem Compiler, dass es sich um einen Wert vom Typ long handelt.



  • Arndt schrieb:

    Vielen Dank für deine Hilfe.
    Auch wenn ich das L missachten kann -> wofür steht das?

    Wurde doch schon gesagt.



  • Dingo schrieb:

    Arndt schrieb:

    Vielen Dank für deine Hilfe.
    Auch wenn ich das L missachten kann -> wofür steht das?

    Wurde doch schon gesagt.

    Sorry, vielen Dank nochmals für alles.

    Grüße

    Arndt


Anmelden zum Antworten