В двоичном коде 12414 равно 11000001111110. LIMIT_ONE в двоичном виде равен 1, а <<, то есть оператор смещения битов, перемещает ноль влево, а ноль - в правый.Следовательно, в двоичном формате торгуемое значение равно 10 и т. Д. До тех пор, пока unk16, который в итоге будет равен 1000000000000000. Теперь вы складываете эти значения вместе, используя побитовое ИЛИ, которое в основном помещает 1 в каждую позицию, где хотя бы один из ее операндов имеет единицу в этой позиции(оператор канала '|' используется в большинстве языков). </p>
Пример:
100 | 10 = 110
Поэтому, чтобы добраться до 12414, вам нужно выполнить побитовое ИЛИ для следующих переменных:unk16, unk15, торгуемый, продаваемый, хранящийся, хранящийся в белом, хранящийся в легионе белый и хрупкий.Комбинация единиц в разных позициях в каждой из этих переменных дает двоичный код 11000001111110, который в конечном итоге равен 12414.
Это, вероятно, самый простой способ объяснить это, если вы хотите узнать больше,Вам следует прочитать побитовые операторы и узнать, как работает двоичное представление чисел.
Чтобы узнать, какой из флагов имеет число 12414, вы можете использовать оператор & (побитовое И) и выполнить проверку нуля.Например:
6 & 2 = 2 (110 has a 1 on the same position as 2, which is 010)
6 & 1 = 0 (110 does not have a 1 on the same position as 1, which is 001)