Если variable1
и variable
меньше 256, оператор такой же, как variable1 + (variable2*256)
.
В более общем смысле, |
является двоичным или или и <<
остаетсяshift.
Итак, если мы начнем с:
variable1 = 321;
variable2 = 123;
Двоичные значения будут:
variable1 => 0000 0001 0100 0001
variable2 => 0000 0000 0111 1011
Сдвиг влево variable2
на 8 приводит к:
0111 1011 0000 0000
То есть variable1 | (variable2 << 8)
равно
0111 1011 0100 0001
, что равно 32065. Это меньше, чем 31519, что является результатом (321 + (123 * 256)), потому что variable1
и variable2 << 8
имеют некоторые общие черты.