这个波浪号在 C# 中的用途是什么?
本文关键字:是什么 | 更新日期: 2023-09-27 18:35:26
我正在尝试移植此 C# 代码:
public static ulong WILDCARD_COLLISION_TYPE
{
get
{
int parse = ~0;
return (ulong)parse;
}
}
如果我理解正确,~
符号不是按位补码吗,那么做~0
有什么意义?然后返回它?
来自 ~
运算符文档:
的
~
运算符对其操作数执行bitwise
补运算,具有反转每个位的效果。按位补码运算符是为int, uint, long, and ulong.
预定义
例如:
unsigned int i = ~0;
Result: Max number I can assign to i
and
signed int y = ~0;
Result: -1
因此,我们可以说~0
只是一个 int,所有位都设置为 1.
当解释为无符号时,这将等同于UINT_MAX。当解释为已签名时,这将被-1