我正在做一些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] 删除。
我来说两句