次のコードがあります。
byte my_byte;
my_byte |= (1 << 7);
my_byte |= (1 << 6);
my_byte の 8 番目と 7 番目のビットを 1 に設定しようとしています。デバッガーを使用して、1 行目を実行した後、my_byte の値が -128 であることがわかりました。2 行目を実行すると、my_byte の値は -64 になります。
最終結果は 192 (2^7 + 2^6) になると思いました。私が間違っていることを誰かが知っていますか?
また、最初に my_byte を初期化する必要がありますか? もしそうなら、どうすればすべてのビットを 0 に設定できますか?
ご協力ありがとうございました。