16 進数の 2 つのセットを変更し、それらを新しい unsigned char に格納するコードがあります。コードは次のようになります。
unsigned char OldSw = 0x1D;
unsigned char NewSw = 0xF0;
unsgined char ChangedSw;
ChangedSw = (OldSw ^ ~NewSw) & ~OldSw;
だから私が知っているのは:
0x1D = 0001 1101
0xF0 = 1111 0000
changedSw 行が何をしているのか混乱しています。出力 0x02 が得られることはわかっていますが、その方法がわかりません。