const int has_nukes = 0x0001;
const int has_bio_weapons = 0x0002;
const int has_chem_weapons = 0x0004;
// ...
int arsenal = has_nukes | has_bio_weapons | has_chem_weapons; // All of them
if(arsenal &= has_bio_weapons) {
std::cout
Но для меня не имеет смысла использовать шестнадцатеричный формат здесь. Есть ли способ сделать это непосредственно в бинарном? Что -то вроде этого: < /p>
const int has_nukes = 0b00000000000000000000000000000001;
const int has_bio_weapons = 0b00000000000000000000000000000010;
const int has_chem_weapons = 0b00000000000000000000000000000100;
// ...
Я знаю, что компиляторы C/C ++ не будут компилировать это, но есть ли обходной путь? Возможно ли на других языках, таких как Java?
В коде я иногда вижу, как люди указывают константы в шестнадцатеричном формате, как это: < /p> [code]const int has_nukes = 0x0001; const int has_bio_weapons = 0x0002; const int has_chem_weapons = 0x0004; // ... int arsenal = has_nukes | has_bio_weapons | has_chem_weapons; // All of them if(arsenal &= has_bio_weapons) { std::cout Но для меня не имеет смысла использовать шестнадцатеричный формат здесь. Есть ли способ сделать это непосредственно в бинарном? Что -то вроде этого: < /p> const int has_nukes = 0b00000000000000000000000000000001; const int has_bio_weapons = 0b00000000000000000000000000000010; const int has_chem_weapons = 0b00000000000000000000000000000100; // ... [/code] Я знаю, что компиляторы C/C ++ не будут компилировать это, но есть ли обходной путь? Возможно ли на других языках, таких как Java?