2 つの unsigned char を 1 つの unsigned short に保存しようとしています。だから私は最初の文字を保存し、ビットシフトしてから2番目の文字でORします。
コード:
unsigned char a = 8;
unsigned char b = 2;
unsigned short c = a;
c << 8;
c |= b;
しかし、最初にビットシフトに問題があります。このコードの実行:
unsigned char a = 8;
unsigned short c = a;
c << 8;
cout << c;
2048 になると思います。ここでもチェックしました: http://www.miniwebtool.com/bitwise-calculator/bit-shift/?data_type=10&number=8&place=8&operator=Shift+Left。しかし、代わりに 8 を取得します。何が間違っていますか?