Не прокатит, в ячейке может хранится лишь 32 бита, поэтому да, больше 32 хранить нельзя.
Вид для печати
Не знаю почему, но как-то забыл за эту тему. Спасибо доставил, у кого не было. Извините, что не сделал раньше)
Я хотел лишь уточнить некоторые моменты.
1. По большому счету компилятор представляет названия команд и значения из enum в двоичной системе счисления, а потом просто идет сверка? Тогда возникает и еще один вопрос: почему именно &? Ведь если биты одинаковые в двух числах, то и сами числа равны.
2. Флагами я могу (хотя мне простительно xD) называть только то, где присутствует этот алгоритм, либо вообще любую побитовую операцию?
3. Можно ли использовать флаги как-то еще, помимо флагов в командах на базе pawncmd? (я ранее лишь с битами работал в отдельности. Для систем обучения и лицензий)
1) В данном случае необходимо лишь сравнивать один бит, соответственно, что и делает операция AND. При сравнении вы сильно бы зависели от значения других битов, что нарушает логику флагов. Тем не менее, вы можете сравнивать несколько битов, используя операцию AND и OR.
2) Нет, поскольку в программирование есть определение bit flag. Оно говорит о том, что флаг - состояние бита (то есть 0 или 1) в числе. Соответственно, можно сказать, что флаги - упакованные boolean переменные.
if (flags & (BIT_FLAG_1 | BIT_FLAG_2)) { // code.. }
3) Можно, если учитывать предыдущий ответ.
Спасибо. Закройте пожалуйста тему.