gpt4 book ai didi

c++ - 设置 int64_t 中的所有位

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:37 26 4
gpt4 key购买 nike

在下面的代码中,我希望将 x 中的所有位设置为 1,但不知何故只设置了前 32 位:

int64_t x = 0xFFFFFFFF;
x<<32;
x|=0xFFFFFFFF;

注意:在每行之后打印 x 会产生 4294967295(低 32 位设置为 1)。另外,尝试使用 numeric_limits<int64_t>::min()没有成功。我的问题是如何设置 x 中的所有位?使用 RHEL5.5。

谢谢

最佳答案

x<<32计算移位 x 的结果剩下 32 位 并且对值不做任何操作。你想使用 x <<= 32相反。

关于c++ - 设置 int64_t 中的所有位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16349234/

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