gpt4 book ai didi

c - 整数常量对于 "long"类型来说太大

转载 作者:行者123 更新时间:2023-12-02 04:34:03 31 4
gpt4 key购买 nike

我正在使用以下算法创建随机整数:

int random;

int i;
for (i = 0; i < RANDOM_COUNT; i++) {
random = (((int) rand() << 0) & 0x0000FFFFd)
| (((int) rand() << 16) & 0xFFFF0000d);
fprintf(outputFile, " %d\n", random);
}

我收到以下警告:

warning: integer constant is too large for "long" type

在这一行:

| (((int) rand() << 16) & 0xFFFF0000d);

我使用 GCC 3.4.3 来编译代码。

有人知道操作的哪一部分触发了警告吗?

最佳答案

Does anyone know which part of the operation [(((int) rand() << 16) & 0xFFFF0000d);] is triggering the warning?

是的,就是0xFFFF0000d ,因为它的大小是 36 位。请注意,该数字等于 0xFFFF0000D 。您可能是说 0xFFFF0000 .

同样,0x0000FFFFd等于0x0000FFFFD 。您可能是说 0x0000FFFF .

关于c - 整数常量对于 "long"类型来说太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12792157/

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