Tag: 否定

在按位求反运算中使用unsigned char有什么用?

unsigned char a = 10,b; b = ~a; printf(” %d \n “,b); 输出: 245 相同的程序,如果我使用int而不是unsigned char ,o / p更改为-11

零(!0)编译器的逻辑否定依赖于C吗?

我遇到一篇文章,其中提到!0的结果与编译器有关。 结果可以是1或FF或FFFF,依此类推。 至于C99标准6.5.3.3一元算术运算符, 逻辑否定运算符的结果! 如果其操作数的值比较不等于0则为0;如果其操作数的值比较等于0则为1.结果的类型为int。 表达式!E等价于(0 == E)。 它真的依赖于编译器吗?