最大整数 = ~0;
这是什么意思?
最佳答案
~
运算符是计算按位补码的一元按位补码运算符。这意味着它反转其参数中的所有位(0 变为 1,1 变为 0)。因此,
int max = ~0;
将 max
设置为 32 位值 0000 0000 0000 0000 0000 0000 0000 0000
的负值 1111 1111 1111 1111 1111 1111 1111 1111
。由于我们将此结果存储在 Int32
中,这与 -1
相同。
要不要说比较好
int max = ~0;
或
int max = -1;
取决于上下文。如果 max
的目的是让一个数字的所有位都为 1
,我会选择前者。如果 max
的目的是计算非负整数列表的最大值,我会选择后者(好吧,我更喜欢 int max = Int32.MinValue;
更重要的是,我更喜欢 int max = list.Max();
)。
关于c# - int 最大值 = ~0;这是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4765201/