mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie kann 16Bit große Zahlen vergleichen???


Autor: Mesa Kusur (mesa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,
über einen 10bit A/D-Wandler, erzeuge ich einen drei stelliges ergebnis
(z.B 200) und zige es auf einem Display an.
So jetzt möchte ich vergleichen aber das ergebniss und der andere wert
sind größer wie 8bit. Meine frage ist wie könnte man das realiesieren??
Bitte um Hilfe. Danke Mesa

Autor: Schoaschi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht das nicht normal mit if?!?

Ansonst würde ich probieren es in 8bit Zahlen zerlegen(durch UND und
dann schieben) und danach zuerst das höherwertige Byte vergleichen.
Wenn sie unterschiedlich sind ist eh alles klar. Wenn sie aber gleich
sind, dann musst du auch das niederwertige Byte vergleichen und
aufgrund dessen deine Aussage treffen.

Verstehst du meine gedanken?

PS.: WElche Programmiersprache benutzt du?

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
8Bit-Vergleicher 74HC688 sind kaskadierbar, zwei Stück davon reichen
also aus
http://www.st.com/stonline/products/literature/ds/1995.pdf

"A single active low enable is provided to facilitate
cascading several packages to enable
comparison of words greater than 8 bits."

das ist natürlich ein binär-Vergleicher, BCD müßte aber auch
funktionieren
73
Christoph

Autor: Mesa Kusur (mesa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus Schoaschi,
kannst du mir das ein einem beispiel zeigen, wie du das meinst???
Ich programmiere in Assembler.
Danke Mesa

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Asm kannst Du direkt auf das Low- und High-Byte zugreifen.
Also zuerst die beiden High-Bytes vergleichen.
Wenn die verschieden sind, ist eh alles klar.
Wenn sie gleich sind, musst Du die Low-Bytes vergleichen.
Das ist dann das Ergebnis.

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck mal Atmel´s Appnote bezüglich 16Bit-Arithmetik an: www.atmel.com
oder Atmel DatenCD, dort ist alles sehr genau erklärt.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Also zuerst die beiden High-Bytes vergleichen.
> Wenn die verschieden sind, ist eh alles klar.
> Wenn sie gleich sind, musst Du die Low-Bytes vergleichen.
> Das ist dann das Ergebnis.

Das ist aber schon arg umständlich. Wozu gibt's das Carry-Flag?
Erst die low-Bytes ohne Carry vergleichen, dann die high-Bytes mit
Carry.

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

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