(〜0L)是什么意思?

我正在做一些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是一个长整数值,所有位都设置为零 – 通常是0的定义.〜表示反转所有位,这将使您具有一个长整型,所有位都设置为1.

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

使用〜0L而不是-1L的原因是更清楚的意图 – 它不意味着被用作一个数字,而是一个位的集合.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...