相关疑难解决方法(0)

二进制文字?

在代码中,我有时会看到人们以十六进制格式指定常量,如下所示:

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!!"
}
Run Code Online (Sandbox Code Playgroud)

但是我在这里使用十六进制格式没有意义.有没有办法直接用二进制文件做?像这样的东西:

const int has_nukes        = 0b00000000000000000000000000000001;
const int has_bio_weapons  = 0b00000000000000000000000000000010;
const int has_chem_weapons = 0b00000000000000000000000000000100;
// ...
Run Code Online (Sandbox Code Playgroud)

我知道C/C++编译器不会编译它,但必须有一个解决方法吗?是否有可能在其他语言如Java?

c++

49
推荐指数
8
解决办法
7万
查看次数

标签 统计

c++ ×1