我试图移植这个C#代码:
public static ulong WILDCARD_COLLISION_TYPE
{
get
{
int parse = ~0;
return (ulong)parse;
}
}
如果我理解正确,~
符号不会执行按位补码,那么~0
的重点是什么?然后归还?
答案 0 :(得分:7)
预定义了按位补码运算符
~
运算符对其操作数执行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.
当解释为unsigned时,这将等同于UINT_MAX。解释为已签名时,这将是-1