(〜0L)是什么意思?

前端之家收集整理的这篇文章主要介绍了(〜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的原因是更清楚的意图 – 它不意味着被用作一个数字,而是一个位的集合.

原文链接:https://www.f2er.com/c/113256.html

猜你在找的C&C++相关文章