加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

(?0L)是什么意思?

发布时间:2020-12-16 06:44:22 所属栏目:百科 来源:网络整理
导读:我正在做一些X11 Ctypes编码,我不知道C但需要一些帮助来理解这一点. 在下面的C代码(可能是C不知道),我们看到(?0L)这是什么意思?在Javascript和Python中?0表示-1. 812 int result = GetProperty(window,property_name,813 (~0L),// (all of them)814 type,fo
我正在做一些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的原因是更清楚的意图 – 它不意味着被用作一个数字,而是一个位的集合.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读