Hallo,
ich habe eine Variable von Datentyp unsigned char. Ich möchte jetzt die
1 komplett durch das Byte schieben.
Sodass mit den nächsten Rechtsschiebungen die folgenden Ergebnisse
entstehen.
0b01000000
0b00100000
0b00010000
0b00001000
0b00000100
0b00000010
0b00000001
Soweit sollte es über den Ausdruck funktionieren.
1 | unsigned char test = 0b10000000;
|
2 | while(1){
|
3 | test>>=1;
|
4 | }
|
Was passiert allerdings dann mit der nächsten Rechtsschiebung, wenn die
Variable test=0x01 ist?
Wie lasse ich die 1 dann wieder im Bit 7 setzen und den ganzen Ablauf
von vorn beginnen?
1 | unsigned char test = 0b10000000;
|
2 | while(1){
|
3 | test>>=1;
|
4 | if(test==0x01)test=0b10000000;
|
5 | }
|