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


von Karl (Gast)


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?

von Ralf (Gast)


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

von Klaus W. (mfgkw)


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.

von Andreas K. (derandi)


Lesenswert?

Ich werf mal das Stichwort Modulo in den Raum!

von Ralf (Gast)


Lesenswert?

In C geht ja auch ne Union :)

Ralf

von Karl (Gast)


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?

von Karl (Gast)


Lesenswert?

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

von Klaus W. (mfgkw)


Lesenswert?

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

von Klaus W. (mfgkw)


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.

von spess53 (Gast)


Lesenswert?

Hi

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

Stichwort: Big endian - little endian.

MfG Spess

von Michael U. (amiga)


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

von Klaus W. (mfgkw)


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.

von Klaus W. (mfgkw)


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?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.