克里斯·卢茨的评论是正确的。
〜是按位求反运算符
看起来它将A变成-(A +
1),因为在许多现代计算机上,负数表示为相应正整数的2的补数,其中减去了该数字
2^(bitlength)(即“ 2乘以位长的幂” ,而不是“两个互斥或位长” …)。
在这样的系统中,-1将被表示为全1。当然,一个数字与它的按位负数的和也是如此,所以我们有这样的情况
a + ~a = -1 => ~a = -1 - a => ~a = -(a + 1)
如您所见。
欢迎分享,转载请注明来源:内存溢出
克里斯·卢茨的评论是正确的。
〜是按位求反运算符
看起来它将A变成-(A +
1),因为在许多现代计算机上,负数表示为相应正整数的2的补数,其中减去了该数字
2^(bitlength)(即“ 2乘以位长的幂” ,而不是“两个互斥或位长” …)。
在这样的系统中,-1将被表示为全1。当然,一个数字与它的按位负数的和也是如此,所以我们有这样的情况
a + ~a = -1 => ~a = -1 - a => ~a = -(a + 1)
如您所见。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)