gpt4 book ai didi

c++ - (~0L) 是什么意思?

转载 作者:IT老高 更新时间:2023-10-28 21:43:10 27 4
gpt4 key购买 nike

我正在做一些 X11 ctypes 编码,我不懂 C 但需要一些帮助来理解这一点。

在下面的 C 代码中(可能是 C++ 我不确定)我们看到 (~0L) 是什么意思?在 Javascript 和 Python 中,~0 表示 -1

812   int result = GetProperty(window, property_name,
813 (~0L), // (all of them)
814 &type, &format, &num_items, &properties);

谢谢

最佳答案

0L 是一个 long 整数值,所有位都设置为零 - 这通常是 0 的定义。 ~ 意味着反转所有位,这会给您留下一个所有位都设置为 1 的 long 整数。

在二进制补码算法(几乎是通用的)中,所有位都设置为 1 的有符号值是 -1

使用 ~0L 而不是 -1L 的原因是为了更清楚地说明意图 - 它根本不是用作数字,而是用作比特的集合。

关于c++ - (~0L) 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27596116/

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