在编程中,符号"~"表示按位取反运算符,它将操作数的每一位取反(0变成1,1变成0)。而"!="表示不等于运算符,用于比较两个操作数是否不相等。
对于整数变量i,如果i的二进制表示中的最高位为0,则~i会得到一个正整数。而如果i的二进制表示中的最高位为1,则~i会得到一个负整数。
当i的二进制表示中的最高位为0时,即i为正整数,~i不等于-1。因为-1的二进制表示中的所有位都是1,而~i会将i的所有位取反,因此结果会是一个非-1的负整数。
当i的二进制表示中的最高位为1时,即i为负整数,~i也不等于-1。因为-1的二进制表示中的所有位都是1,而~i会将i的所有位取反,结果会是一个正整数。
综上所述,~i并不等同于i != -1。
领取专属 10元无门槛券
手把手带您无忧上云