raven16
Lieutenant
- Registriert
- Nov. 2008
- Beiträge
- 580
Ich habe als Aufgabe, den Status von 8 Lampen in einem Char (Byte) zu speichern.
Den logischen Aufbau des Programms und die richtigen Bitoperatoren habe ich schon fertig.
Nur hab ich noch ein Problem dabei und ich finde da nicht wirklich gute Beispiele zu:
Ich habe ein Char angelegt:
Ein Char ist ja 1 Byte = 8 Bit groß und reicht für die Speicherung. Unsigned deswegen, damit ich die Werte von 0-255 nutzen kann.
Wenn ich die Lampe ein oder aus Schalten möchte, dann benutze ich folgende Bitoperationen
Ich weiß nicht so genau, wie ich die Variable operand anlegen soll, damit die Bitoperation funktioniert.
Bis jetzt ist die Variable operand bei mir ein Integer mit den Werten für die jeweilige Lampe (1,2,4,8,16,32,64,128), je nachdem welche Lampe ein oder ausgeschaltet werden soll.
Aber char mit Bitoperation int geht ja nicht oder?
Danke
Den logischen Aufbau des Programms und die richtigen Bitoperatoren habe ich schon fertig.
Nur hab ich noch ein Problem dabei und ich finde da nicht wirklich gute Beispiele zu:
Ich habe ein Char angelegt:
Code:
unsigned char lampenspeicher = '0';
Wenn ich die Lampe ein oder aus Schalten möchte, dann benutze ich folgende Bitoperationen
Code:
//Lampe einschalten
if(schalter == true) lampenspeicher = lampenspeicher |= operand;
//Lampe ausschalten
else if(schalter == false)
{
lampenspeicher = lampenspeicher |= operand;
lampenspeicher = lampenspeicher ^= operand;
}
Bis jetzt ist die Variable operand bei mir ein Integer mit den Werten für die jeweilige Lampe (1,2,4,8,16,32,64,128), je nachdem welche Lampe ein oder ausgeschaltet werden soll.
Aber char mit Bitoperation int geht ja nicht oder?
Danke