Forum: Mikrocontroller und Digitale Elektronik Wert auf High-und Low-Nibble zerlegen


von Alex A. (Gast)


Lesenswert?

Hallo.
Wenn ich einen Wert habe, z.B. 13h
Welche Rechnungen muss mein µC durchführen, damit ich 1 und 3 getrennt 
bekomme.

Dim A as Byte
Dim B as Byte
Dim Wert as Byte

Wert = 13h

...
...
...
a= 1
b= 3

Komme selbst nicht drauf.

Danke
Gruss Alex S.

von edgar (Gast)


Lesenswert?

V=&H13

A=(V AND &HF0):SHIFT A,RIGHT,4
B=(V AND &HF)

von Tom E. (tkon)


Lesenswert?

je nach Programiersprache kann das etwas variieren, aber im Prinzip:

b = 13h & 0fh
a = 13h >> 4

von Alex A. (Gast)


Lesenswert?

Sorry, komme gerade nicht mit.
Geht das etwas genauer?
Was nacht jedes Befehl?
Danke+Gruss Alex S.

von edgar (Gast)


Lesenswert?

Alex S. schrieb:
> Sorry, komme gerade nicht mit.
> Geht das etwas genauer?
> Was nacht jedes Befehl?
> Danke+Gruss Alex S.

Das untere und das obere Nibble "heraus-und-en" und nach rechts 
schieben?!

von Alex A. (Gast)


Lesenswert?

Danke
Bin kein "Troll", aber was bedeutet "heraus-und-en" , bzw. "AND" als 
Befehl?
Gruss Alex S.

von H.Joachim S. (crazyhorse)


Lesenswert?

Alex S. schrieb im Be Danke
> Bin kein "Troll",

Man könnte es aber denken :-)
Oder ist das dein allererster Programmierversuch?

von Alex A. (Gast)


Lesenswert?

>Oder ist das dein allererster Programmierversuch?

Um die Antwort zu bekommen, kann ich das sogar bestätigen.

Aber im Ernst...

Danke
Gruss Alex S.

von Michael S. (jackson)


Lesenswert?

Hi Alex,

im Prinzip so:

hi = myByte >> 4;    ">> 4" bedeutet 4bits nach rechts schieben, die 
anderen Bits werden dann mit Nullen aufgefüllt, dadruch bleibt nur noch 
das High-Nibble übrig.

lo = myByte & 15;    "& 15" und Verknüpfung mit dezimal 15 (=F =1111 ), 
dadruch bleibt nur noch das Low-Nibble übrig.

myByte ist das Byte was du umwandeln möchtest.

Gruß
Jackson

von Alex A. (Gast)


Lesenswert?

Ach, danke.
Jetzt habe ich das kapiert :)
Gruss Alex S.

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.