Forum: Mikrocontroller und Digitale Elektronik Bascom --- die ersten 11 Bits aus word


von Nils (Gast)


Lesenswert?

Hallo,

könnt ihr mir einen Tip geben, wie ich aus einem Word (16Bit) die
ersten 11 Bits "abgreifen" kann und ein eine neue Variable schreiben
kann ??

.... übrigens in Bascom ... :-) Sorry !!

Vielen Dank !!!
Nils

von André K. (andre-)


Lesenswert?

Naja, A enthaelt deine Daten.

Dim B as word

B = A AND &B0000011111111111

Beste Gruesse

von Nils (Gast)


Lesenswert?

Hallo Andre,

sorry, habe mich falsch ausgedrückt.

A = xxxxxxxxxxxnnnnn

Brauche die "X" .... und zwar nur die 11 Bit ....da dürfen dann
hinten keine Nullen dran.

Vielen Dank !!

von Carsten (Gast)


Lesenswert?

Maskiere die unteren 5 Bits aus,
und shifte 5mal nach rechts bzw. teile durch 32

von Rahul (Gast)


Lesenswert?

B = A AND &B1111111111100000
und dann 5mal nach rechts schieben. Schiebebefehle sollten in
"Bascom-Vokabelheft" stehen.

in C macht man das so:
b = (a>>5) & 0x07FF; // nicht ganz die Lösung von oben, weil erst
geschoben wird und dann verundet.

so wäre es die Lösung von oben:
b = ((a & 0xFFC0) >> 5);

von Raimond (Gast)


Lesenswert?

Geht´s nicht auch so

Shift A, Right,5
B=A

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.