在代码中,有时我会看到人们以十六进制格式指定常量,如下所示:
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 << "BIO!!"
}
但是在这里使用十六进制格式对我来说没有意义。有没有一种方法可以直接用二进制文件呢?像这样:
const int has_nukes = 0b00000000000000000000000000000001;
const int has_bio_weapons = 0b00000000000000000000000000000010;
const int has_chem_weapons = 0b00000000000000000000000000000100;
// ...
我知道C / C ++编译器不会对此进行编译,但是必须有解决方法吗?是否可以使用其他语言(例如Java)?
杨__羊羊
阿晨1998
红糖糍粑
相关分类