
Сообщение от
Yana_Chernobay
И как Вы определяете &0xFF?
по опыту

и знание двоичной/шестнадцатеричной арифметики

Сообщение от
Yana_Chernobay
Разряд 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Значение G G G G G G G G S S S S P 0 0 0
G занимает 8 бит значит маска будет 1111 1111
1111 в двоичной это F в шестнадцатеричной
а 11111111 это соответственно FF

Сообщение от
Yana_Chernobay
Где об этом можно почитать?
так, по моему, во всех учебниках есть
потренируйся на бумажке, и начнешь в уме считать
для начала вот таблица
двоичные десятичные шестнадцатеричные
0000 0 0x00
0001 1 0x01
0010 2 0x02
0011 3 0x03
0100 4 0x04
0101 5 0x05
0110 6 0x06
0111 7 0x07
1000 8 0x08
1001 9 0x09
1010 10 0x0A
1011 11 0x0B
1100 12 0x0C
1101 13 0x0D
1110 14 0x0E
1111 15 0x0F

Сообщение от
Yana_Chernobay
Такие вопросы: почему мы сдвигаем в именно число 8?
не число 8 а на 8 двоичных разрядов влево
посмотри на свою запись и подсчитай насколько G смешено от начала числа