Почему Maven? Каковы преимущества? [закрыто]

17
задан demongolem 30 June 2011 в 18:23
поделиться

1 ответ

Флаги должны быть степенями 2 для правильного побитового или вместе.

define("FLAG_A", 0x1);
define("FLAG_B", 0x2);
define("FLAG_C", 0x4);
function test_flags($flags) {
  if ($flags & FLAG_A) echo "A";
  if ($flags & FLAG_B) echo "B";
  if ($flags & FLAG_C) echo "C";
}
test_flags(FLAG_B | FLAG_C); # Now the output will be BC

Использование шестнадцатеричной записи для постоянных значений не влияет на поведение программы, но является одним из идиоматических способов подчеркнуть программистам, что значения составляют битовое поле. Другой вариант — использовать сдвиги: 1<<0, 1<<1, 1<<2 и т. д.

28
ответ дан 30 November 2019 в 12:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: