CUDA NVCC编译器二进制变量

Mes*_*mer 2 binary cuda nvidia nvcc

我正在尝试在CUDA做类似的事情:

char_sig=code[k][1] & 0b00000010;
Run Code Online (Sandbox Code Playgroud)

并且NVCC编译器一直给我错误预期";"

相同的代码适用于GCC C编译器.我注意到问题是将二进制值设置为0b00000010,还有其他一些NVCC预期的表示法吗?

tal*_*ies 5

使用0b前缀的二进制常量是gcc扩展名,不是标准C99或C++ 98/C++ 03的一部分.CUDA工具链所基于的open64和LLVM/clang编译器不支持此功能.您需要将常量转换为八进制,十六进制或十进制才能在CUDA中使用它们.