gpt4 book ai didi

c++ - 数字 xor K - K = 数字 + K xor K,为什么?

转载 作者:行者123 更新时间:2023-11-30 21:15:37 28 4
gpt4 key购买 nike

看起来,对于普通整数(按位运算),给定一个整数 n 及其掩码 k(一个字节:负数为 1111 1111,正数为 0000 0000)

(n ^ K) - K = (n + K) ^ K

这通常用于计算以 K 为掩码的数字 n 的绝对值。我的问题是:为什么上面的表达式有效?为什么这两个术语是等价的?

最佳答案

您似乎只对 k 的 2 个值感兴趣:0 和 -1。

对于 k=0:(n^0)-0=(n+0)^0,好的。

对于 k=-1,由于 n^-1==~n,这重写为 ~n+1=~(n-1),尝试添加两边都是n-1,注意n+~n==-1。

关于c++ - 数字 xor K - K = 数字 + K xor K,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15114000/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com