mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hex Zahl in High und Low Teil Splitten (16/16)


Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
gibt es irgendwelche einfachen Regeln, wie ich eine Hexzahl in 2 16 Bit 
Teile Zerlegen kann. Z.B.

0h2B955= H:2 L:B955

Aber je nach Zahl wird ja anders aufgetrennt. Also wie stelle ich 
möglichst schnell fest, wo die Trennung erfolgen muss?

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 0h2B955= H:2 L:B955
> Aber je nach Zahl wird ja anders aufgetrennt. Also wie stelle ich
> möglichst schnell fest, wo die Trennung erfolgen muss?

Was möchtest du genau? Die BCD-Codierung der Zahl, oder die 16-Bit 
Trennung? Es muss an einer(!) Stelle getrennt werden, zwischen dem 16. 
und dem 17.Bit :)

In welcher Programmiersprache willst du die Trennung durchführen?

Ralf

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
von rechts gezählt gehören die ersten 4 Stellen zu zu deinem
L-Teil, soweit vorhanden die maximal 4 links davon
stehenden zum H-Teil.

Autor: Andreas K. (derandi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich werf mal das Stichwort Modulo in den Raum!

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In C geht ja auch ne Union :)

Ralf

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:
> von rechts gezählt gehören die ersten 4 Stellen zu zu deinem
> L-Teil, soweit vorhanden die maximal 4 links davon
> stehenden zum H-Teil.

Gut das wollte ich wissen. Gilt das immer, oder muss man da noch 
Fallunterscheidungen machen?

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und mir ging es nicht um die Umsetzung, sondern mehr um die 
Zahlentheorie.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas Klepmeir:
dann wirf doch auch den dafür nötigen rechten Operanden hinterher!

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl schrieb:
> Gut das wollte ich wissen. Gilt das immer, oder muss man da noch
> Fallunterscheidungen machen?

nein.
Außer natürlich es gibt nur 4 oder weniger Stellen, dann ist
dein H halt 0.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

> Gut das wollte ich wissen. Gilt das immer, oder muss man da noch
> Fallunterscheidungen machen?

Stichwort: Big endian - little endian.

MfG Spess

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Karl schrieb:
> Und mir ging es nicht um die Umsetzung, sondern mehr um die
> Zahlentheorie.

Hmmm, die Hex-Darstellung ist eine besser Menschen-lesbare Form, um 
Binärwerte darzustellen. 4 Bit zusammengefasst dargestellt als 0...F.

Üblicherweise wird man beim niederwertigsten Bit anfangen und nicht 
vorhandene obere Bits nicht mehr angeben.

Dezimal fange ich ja auch bei den Einern an und höre auf, wenn oben 
nichts mehr kommt.

Ich finde hier die Zahlentheorie nicht (habe auch keine Anhnung 
davon...).

Gruß aus Berlin
Michael

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl schrieb:
> Zahlentheorie.

Als Zahlentheorie würde ich es jetzt nicht gleich bezeichnen.
Aber der Hintergrund ist der, daß man mit eine Hex-Stelle 4 Bit
darstellen kann (wg. 2^4 ist 16). Pro Byte hat man also 2
Hex-Stellen.
Du willst 16-Bit-weise trennen, also entspricht das
  2Byte * 2Hex-Stellen/Byte = 4 Stellen

Weil die Zahlen nun üblicherweise so dargestellt werden, daß
die Einerstellen rechts steht und die höheren fortlaufend
links angehängt werden, musst du halt für deinen Zweck
von rechts her 4 abzählen.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
spess53 schrieb:
> Hi
>
>> Gut das wollte ich wissen. Gilt das immer, oder muss man da noch
>> Fallunterscheidungen machen?
>
> Stichwort: Big endian - little endian.
>
> MfG Spess

Wozu braucht man das hier?

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.