Нарыл вот такую штуку : побитовая маска
Вроде вот при таком подходе - получается
Код:

byte b = (byte)(0xFFAA & 0x00FF);
Т.е. насколько я понимаю, он выбирает значимые разряды числа 0xFFAA по маске 0x00FF, или же
Код:

0000 0000 1111 1111 (маска)
xxxx xxxx |||| ||||
1111 1111 1010 1010 (число)
=
0000 0000 1010 1010 (результат)
Однако второй нюанс вопроса, хотелось бы узнать - почему при побитовом сдвиге, происходит ситуация описанная в первом посте, и как именно она так происходит?
Есть конечно предположения, что при сдвиге влево, выделяется еще 2 байта (до int32 unsigned) и после приводятся (ushort).
Однако, хотел бы услышать мнение хорошего человека знающего c#
Цитата:
В С/С++ это делается при помощи объединения:
|
Мне нужно одну переменную 2 байта, разложить на 2 (по байту)