2016-11-28 8 views
-1

ビットが1のときは0に、0のときは1に切り替えることは可能ですか?たとえば、00000000は、機能が00000001になり、00000001が再び機能を実行すると、0000000100000000になります。出来ますか?LEDをオン/オフする機能

+1

はい。あなたはそれを行うことができます! –

+0

'b =!b'と' b = 1-b'の両方が0から1に変化し、1から0に変化します。 –

答えて

0

確かに。何が欲しいのは(これはマスクと呼ばれている)00000001で論理XORを実行することです:

MASK   INPUT  OUTPUT 
00000001 XOR 00000000 = 00000001 
00000001 XOR 00000001 = 00000000 

あなたのマスクが00001001た場合、これはまた、例えば、複数のビットをトグルすることを可能にする:

MASK   INPUT  OUTPUT 
00001001 XOR 00000000 = 00001001 
00001001 XOR 00001001 = 00000000 
00001001 XOR 00001000 = 00000001 
00001001 XOR 00000001 = 00001000