Forum: Mikrocontroller und Digitale Elektronik Kodieren und Dekodieren von Lookup Tabellen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Einhorn (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Gibt es gute Algorithmen zum kodieren und dekodieren von Lookup 
Tabellen?
Mein Ziel ist es, dass ich einer Funktion einen Wert und die kodierte 
Lookup Tabelle übergebe und ich als Rückgabewert den Wert aus dieser 
erhalte.

Danke für Tips!

von Oliver S. (oliverso)


Bewertung
0 lesenswert
nicht lesenswert
Ja, gibt es.

Oliver

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
Einhorn schrieb:
> Gibt es gute Algorithmen zum kodieren und dekodieren von Lookup
> Tabellen?
> Mein Ziel ist es, dass ich einer Funktion einen Wert und die kodierte
> Lookup Tabelle übergebe und ich als Rückgabewert den Wert aus dieser
> erhalte.

Dafür braucht es keine Funktion, es reicht ein Arrayzugriff. Das ist das 
kleine 1x1 jeder Programmiersprache.
1
int tabelle[10] = {2, 3, 5, 7, 9, 11, 13, 17, 19, 23};
2
3
...
4
5
int primzahl = tabelle[i];

von c-hater (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Einhorn schrieb:

> Gibt es gute Algorithmen zum kodieren und dekodieren von Lookup
> Tabellen?

Ja, der beste Algorithmus (zumindest bei Optimierung auf 
Geschwindigkeit) ist der, bei dem der Zugriff auf die Tabelle zu einer 
simplen Indirektion schrumpft, also auf die Tabelle einfach als array 
mit einem Index zugegriffen werden kann.

Solange die Tabelle also in Bezug auf den verfügbaren Speicher für 
konstante Daten klein genug ist, um genug Platz für den Rest der 
Anwendung zu lassen, ist das mit ziemlicher Sicherheit das Optimum.

von Einhorn (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Oliver S. schrieb:
> Ja, gibt es.
>
> Oliver

Danke

von Zweihorn (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Einhorn schrieb:
> Oliver S. schrieb:
>> Ja, gibt es.
>>
>> Oliver
>
> Danke

Kein Problem

von Frank E. (Firma: Q3) (qualidat)


Bewertung
-2 lesenswert
nicht lesenswert
Wenn es sich, wie in dem obigen Beispiel, nicht gerade um Primzahlen 
ginge, sondern z.B. um eine Linearisierung, benötigt man noch einen 
guten Interoplations-Agorithmus. Der kann beinahe beliebig aufwändig 
sein (z.B. ebenfalls nicht-linear auf Basis der umgebenden Werte) ...

von Peter D. (peda)


Bewertung
1 lesenswert
nicht lesenswert
Einhorn schrieb:
> Mein Ziel ist es, dass ich einer Funktion einen Wert und die kodierte
> Lookup Tabelle übergebe und ich als Rückgabewert den Wert aus dieser
> erhalte.

Der Sinn einer Tabelle ist, daß man keine Funktion braucht. Der 
Eingangswert ist einfach der Index auf die Tabelle.
Ist die Tabelle monoton, kann man sie auch mittels binärerer Suche 
rückwarts benutzen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.