我找到了关于这个话题的各种意见,所以这就是我决定在这里问的原因。我的问题是从 CUDA 支持的 int64_t 的计算能力开始。我在 Quadro770M 上运行 cuda 5,以下代码可以正常工作,尽管我读到从计算能力 1.3 开始支持 64 位无符号。那么这个问题的真正答案是什么?
__device__ void printBinary(int64_t a) {
int bits[64];
int i;
for (i = 0; i < 64; i++) {
bits[63 - i] = (a >> i) & 1;
}
for (int i = 0; i < 64; ++i) {
cuPrintf("%d", bits[i]);
}
cuPrintf("\n");
cuPrintf("%016llX", a);
}