我需要创建一个(f)16重复n次的数字。 0 warning: shift count >= width of type [-Wshift-count-overflow]
std::cout << "hi:" << std::hex << std::showbase << (1ULL << 64) - 1 << std::endl;
^ ~~ 1 warning generated. hi:0x200std::cout << "hi:" << std::hex << std::showbase << (1ULL << 64) - 1 << std::endl;
如何在不溢出f
的情况下获取所有数字ULL
?
最佳答案
对于n = 1到16,您可以从所有F开始,然后相应地移动:
0xFFFFFFFFFFFFFFFFULL >> (4*(16-n));
(分别处理n = 0)
关于c++ - 如何创建一个(f)16重复n次的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64156328/