gpt4 book ai didi

c - 填充可变数量的

转载 作者:太空狗 更新时间:2023-10-29 15:43:51 25 4
gpt4 key购买 nike

用未知(编译时)个数填充变量的最佳方法是什么?例如,假设:

int n = 5;
int b = fillwithones(5);

现在 b 包含 11111(二进制)。

我不能只对 int b = 31 进行硬编码,因为 n 无法提前知道(在我的应用程序中)。

我可以这样做:

int b = pow(2, n) - 1

但是使用 pow 看起来很浪费。

谢谢!

最佳答案

可以左移然后减1:

unsigned int b = (1U << n) - 1U;

// Broken down into steps
// 1 = 00000001b
// 1 << 5 = 00100000b
// (1 << 5) - 1 = 00011111b

这样做的原因是1 左移 n 次2n 相同,因为每个单独的位位置代表2.

关于c - 填充可变数量的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7919513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com