Forum: Mikrocontroller und Digitale Elektronik Umrechnung Zahl(1-8) nach 0bx


von Samuel (Gast)


Lesenswert?

Hallo,

ich möchte gerne einen Port entsprechend schalten.

Und zwar hat dieser 9 Zustände (Aus, Ein1, ... Ein8). Dabei sollen jedes 
weitere Bit einem Zustand entsprechen.

Nun kann ich das mit (2^bit)-1 machen. Doch die Ergebnisse scheinen 
nicht richtig zu sein.

pattern1 = pow(2, mode)-1;

0b00000000
0b00000001
0b00000010
0b00000110
0b00001110
0b00011110
0b00111110
0b01111110
0b11111110


Das erste Bit fehlt ab der 3. Zeile.

von nfet (Gast)


Lesenswert?

http://cpp.sh/8thx

funktioniert bei mir einwandfrei!

von Peter II (Gast)


Lesenswert?

Samuel schrieb:
> pattern1 = pow(2, mode)-1;
1
pattern1 = (1<<mode)-1;

von kein float (Gast)


Lesenswert?

shift statt pow benutzen

von Samuel (Gast)


Lesenswert?

Danke so gehts ;)

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.