LINUX.ORG.RU

История изменений

Исправление peregrine, (текущая версия) :

Если статусы фиксированные и надо только их смотреть, без выделения отдельного смысла, то я бы как-то так делал:

enum States{
    State1 = 0x0001,
    State2 = 0x0010,
    State3 = 0x0101
};
if (value == State2){
//какой-то там код
}
И не выносил себе мозги булевой логикой. Ну и проверку делал бы есть в enum-е это или нету. А как это от ЯП зависит. В C++, например, можно так. Ну или я не понял что ты там хочешь делать

ЗЫ

Вроде понял что ты хочешь глядя на другие комментарии, тебе надо проверить корректность по маске, сейчас напишу лучше.

Первая колонка это состояние, а вторая - маска? Или опять неверно?

ЗЫ

Таблицу истинности напиши, я не понимаю что у тебя в данных, они противоречивые

Исправление peregrine, :

Если статусы фиксированные и надо только их смотреть, без выделения отдельного смысла, то я бы как-то так делал:

enum States{
    State1 = 0x0001,
    State2 = 0x0010,
    State3 = 0x0101
};
if (value == State2){
//какой-то там код
}
И не выносил себе мозги булевой логикой. Ну и проверку делал бы есть в enum-е это или нету. А как это от ЯП зависит. В C++, например, можно так. Ну или я не понял что ты там хочешь делать

ЗЫ

Вроде понял что ты хочешь глядя на другие комментарии, тебе надо проверить корректность по маске, сейчас напишу лучше.

Первая колонка это состояние, а вторая - маска? Или опять неверно?

Исправление peregrine, :

Если статусы фиксированные и надо только их смотреть, без выделения отдельного смысла, то я бы как-то так делал:

enum States{
    State1 = 0x0001,
    State2 = 0x0010,
    State3 = 0x0101
};
if (value == State2){
//какой-то там код
}
И не выносил себе мозги булевой логикой. Ну и проверку делал бы есть в enum-е это или нету. А как это от ЯП зависит. В C++, например, можно так. Ну или я не понял что ты там хочешь делать

ЗЫ

Вроде понял что ты хочешь глядя на другие комментарии, тебе надо проверить корректность по маске, сейчас напишу лучше

Исправление peregrine, :

Если статусы фиксированные и надо только их смотреть, без выделения отдельного смысла, то я бы как-то так делал:

enum States{
    State1 = 0x0001,
    State2 = 0x0010,
    State3 = 0x0101
};
if (value == State2){
//какой-то там код
}
И не выносил себе мозги булевой логикой. Ну и проверку делал бы есть в enum-е это или нету. А как это от ЯП зависит. В C++, например, можно так. Ну или я не понял что ты там хочешь делать

Исходная версия peregrine, :

Если статусы фиксированные и надо только их смотреть, без выделения отдельного смысла, то я бы как-то так делал:

enum States{
    State1 = 0x0001,
    State2 = 0x0010,
    State3 = 0x0101
};
if (value == State2){
//какой-то там код
}
И не выносил себе мозги булевой логикой. Ну и проверку делал бы есть в enum-е это или нету. А как это от ЯП зависит. В C++, например, можно так.