在 c 语言中,i=~i 的意思是:按位取反操作数 i,即 ~i。将取反结果赋值给 i。
i=~i 的含义
在 C 语言中,i=~i 的意思是按位取反并赋值给 i。
详细解释
- 按位取反 ( ~ ):~ 运算符是对一元运算。它将操作数的二进制位取反。换句话说,它将 0 变成 1,将 1 变成 0。
- 赋值 ( = ):= 运算符将右边的值赋值给左边的变量。
因此,i=~i 的操作可以分解如下:
- 计算 i 的按位取反,即 ~i。
- 将计算后的值赋值给 i。
示例
假设 i 的二进制值为 0110 (6)。
- ~i 的计算结果为 1001 (-7),因为每个二进制位都被取反。
- i=~i 将 -7 赋值给 i,因此 i 的新值为 -7。