(〜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是一个long整数值,所有位均设置为零-通常是的定义0~方法反转所有位,这让你有一个long与所有设置为一个位整数。

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

使用~0L代替的原因-1L是要更清楚意图-并不是要全部用作数字,而应用作位的集合。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章