【C语言取反运算符】~2是多少?~-5是多少?

标题的答案: ~2=-3 ~-3=2 原理是什么?我们先来看这个程序及输出的结果: 容易总结出这样一个结论:~i=-i-1 为什么呢? 一言以蔽之,~运算符是对i的补码(含符号位)进行取反。 2的原码是0000 0010 正数补码是其本身0000 0010 取反(含符号位)后补码变成1111 1101 此时补码为负数,换成原码要符号位不变,减去1,再取反,即原码成了1000 0011 即为-3 -
相关文章
相关标签/搜索