Umwandlungsfunktionalität



  • Ich habe beliebig viele Eingabewerte zur Verfügung (jeweils 13 bytes) und die jeweils zugehörigen Ausgabewerte (8 bytes), was mir allerdings fehlt ist der Algorithmus der das ganze umwandelt (also mir aus den Eingabedaten die jeweiligen Ausgaben erzeugt).

    Als Beispiel an dieser Stelle einmal folgende Werte:

    (hexadezimal)

    Eingabe Ausgabe
    -----------------------------------------------------------------------------
    "82 F5 89 43 01 F8 ED 02 30 01 82 C3 74" -> "01 FC 12 00 AB 64 1E 40"
    "82 47 89 43 01 A6 ED 02 30 20 92 08 72" -> "01 F3 12 00 57 54 CB 3F"
    "82 F5 89 43 01 F8 ED 02 E0 4F 81 94 74" -> "01 00 00 00 18 2B 31 40"
    "82 F5 89 43 01 F8 ED 02 50 64 8A 94 74" -> "01 00 00 00 17 2C 31 40"

    (dezimal)

    Eingabe Ausgabe
    --------------------------------------------------------------------------------
    "130 245 137 067 001 248 237 002 048 001 130 195 116" -> "001 252 018 000 171 100 030 064"
    "130 071 137 067 001 166 237 002 048 032 146 008 114" -> "001 243 018 000 087 084 203 063"
    "130 245 137 067 001 248 237 002 224 079 129 148 116" -> "001 000 000 000 024 043 049 064"
    "130 245 137 067 001 248 237 002 080 100 138 148 116" -> "001 000 000 000 023 044 049 064"

    Hat irgendjemand brauchbare Ansätze bzw. die Lösung (wie gesagt, ich habe noch beliebig viele Werte zur Verfügung)..?



  • es sieht so aus, als würde eine Zeichenfolge genau in eine andere umgewandelt, kein code, kein Trick.
    Wahrscheinlich ist es noch primitiver, aber man könnte das Programm ja die Codetabelle auch schreiben lassen. Immer wenn was unbekanntes dazukommt, so tus ins Alphabet.

    Nur so ne Idee...



  • Ich hab mir das ganze nochmal angeschaut und festgestellt das sich das weiter reduzieren lässt:

    INPUT OUTPUT

    00 00 00 00 00 00 00 00 00 00
    00 00 00 00 01 00 00 00 00 06
    00 00 00 01 00 00 00 00 24 00
    00 00 00 01 01 00 00 00 24 06
    00 00 01 00 00 00 00 D8 00 00
    00 00 01 00 01 00 00 D8 00 06
    00 01 00 00 00 00 64 00 00 00
    01 00 00 00 00 02 00 00 00 00
    01 01 01 01 01 02 64 D8 24 06

    00 02 00 00 00 00 02 00 00 00
    02 00 00 00 00 0C 00 00 00 00

    00 00 00 00 80 00 00 00 00 85
    00 00 00 80 00 00 00 00 00 01
    00 00 00 80 80 00 00 00 00 52

    00 00 00 00 FF 00 00 00 00 F3
    00 00 00 FF 00 00 00 00 90 01
    00 00 00 FF FF 00 00 00 90 DA
    00 00 FF 00 00 00 00 11 57 00
    00 00 FF 00 FF 00 00 11 57 F3
    00 00 FF FF 00 00 00 11 DA 01
    00 00 FF FF FF 00 00 11 DA DA
    00 FF 00 00 00 00 17 F5 00 00
    00 FF 00 00 FF 00 17 F5 00 F3
    00 FF 00 FF 00 00 17 F5 90 01
    00 FF 00 FF FF
    00 FF FF 00 00
    00 FF FF 00 FF
    00 FF FF FF 00
    00 FF FF FF FF
    FF 00 00 00 00 33 AF 00 00 00
    FF 00 00 00 FF
    FF 00 00 FF 00
    FF 00 00 FF FF
    FF 00 FF 00 00
    FF 00 FF 00 FF
    FF 00 FF FF 00
    FF 00 FF FF FF
    FF FF 00 00 00 33 DA F5 00 00
    FF FF 00 00 FF
    FF FF 00 FF 00
    FF FF 00 FF FF
    FF FF FF 00 00
    FF FF FF 00 FF
    FF FF FF FF 00
    FF FF FF FF FF 33 DA DA DA DA

    Mir ist nur nicht ganz klar wie da die Rechenvorgänge ablaufen.
    Hat dazu irgendjemand eine Idee (ich poste auch gern noch mehr Beispiele wenns hilft)



  • Sieht leider etwas anders aus als gedacht.
    Es gehören jeweils 5 bytes zum Input (links) und 5 zum Output (rechts).
    Tut mir leid dass das so unübersichtlich ist..



  • Codetags helfen Wunder. 😉

    INPUT                 OUTPUT
    
    00 00 00 00 00        00 00 00 00 00
    00 00 00 00 01        00 00 00 00 06
    00 00 00 01 00        00 00 00 24 00
    00 00 00 01 01        00 00 00 24 06
    00 00 01 00 00        00 00 D8 00 00
    00 00 01 00 01        00 00 D8 00 06
    00 01 00 00 00        00 64 00 00 00
    01 00 00 00 00        02 00 00 00 00
    01 01 01 01 01        02 64 D8 24 06
    
    00 02 00 00 00        00 02 00 00 00
    02 00 00 00 00        0C 00 00 00 00
    
    00 00 00 00 80        00 00 00 00 85
    00 00 00 80 00        00 00 00 00 01
    00 00 00 80 80        00 00 00 00 52
    
    00 00 00 00 FF        00 00 00 00 F3
    00 00 00 FF 00        00 00 00 90 01
    00 00 00 FF FF        00 00 00 90 DA
    00 00 FF 00 00        00 00 11 57 00
    00 00 FF 00 FF        00 00 11 57 F3
    00 00 FF FF 00        00 00 11 DA 01
    00 00 FF FF FF        00 00 11 DA DA
    00 FF 00 00 00        00 17 F5 00 00
    00 FF 00 00 FF        00 17 F5 00 F3
    00 FF 00 FF 00        00 17 F5 90 01
    00 FF 00 FF FF
    00 FF FF 00 00
    00 FF FF 00 FF
    00 FF FF FF 00
    00 FF FF FF FF
    FF 00 00 00 00        33 AF 00 00 00
    FF 00 00 00 FF
    FF 00 00 FF 00
    FF 00 00 FF FF
    FF 00 FF 00 00
    FF 00 FF 00 FF
    FF 00 FF FF 00
    FF 00 FF FF FF
    FF FF 00 00 00        33 DA F5 00 00
    FF FF 00 00 FF
    FF FF 00 FF 00
    FF FF 00 FF FF
    FF FF FF 00 00
    FF FF FF 00 FF
    FF FF FF FF 00
    FF FF FF FF FF        33 DA DA DA DA
    

Anmelden zum Antworten