算法
C语言中,快速对一个数取反可以通过执行下面的代码实现:
int x = 5;
int neg_x = ~x + 1;下证
推导
一个
最高位权重为
以 8 位为例:
设
取反后每一位变成
分配展开:
中间求和为等比数列:
代入上式后,
两边加 1:
若直接对
发现
得证。
C语言中,快速对一个数取反可以通过执行下面的代码实现:
int x = 5;
int neg_x = ~x + 1;下证
一个
最高位权重为
以 8 位为例:
设
取反后每一位变成
分配展开:
中间求和为等比数列:
代入上式后,
两边加 1:
若直接对
发现
得证。