Итак, проблема, с которой я сталкиваюсь, заключается в получении младших и самых значимых 16 битов из числа более 16 бит, но не обязательно какой-либо определенной длины.
Если бы число было целым числом, которое составляет 32 бита, я думаю, я мог бы просто сделать что-то вроде:
int Num=0xFFFFFFFF
short most = (short)(Num & 0xFFFF0000);
short least =(short)(Num & 0x0000FFFF);
Результат:
most = 0xFFFF минимум = 0xFFFF
Что теоретически должно дать мне короткое 16-битное число с младшими и наиболее значимыми битами.Но проблема в том, что я должен быть в состоянии сделать это для произвольного количества битов, поэтому этот подход не будет работать, потому что он изменит то, что мне нужно, и число с.Есть ли лучший подход к получению этих значений?
Кажется, что есть довольно простой способ сделать это, но я ничего не могу найти в Интернете.
Спасибо