我们有两个变量:
unsigned int a=5;
unsigned int b=3;
我们知道,
a-b==~(b-a)+1
但如何证明,
(a-b)*(a-b)==(b-a)*(b-a)
答案 0 :(得分:0)
而不是a-b==~(b-a)+1
我会使用ℤ/ 2 k ℤ是ring。环中的(a-b)*(a-b)==(b-a)*(b-a)
已知,但您可以从(a + -b)*(a + -b)=(b + -a)*(b + -a)
开始并从那里获取:
使用分配性计算出第一个产品:(a*a)+(a*-b)+(-b*a)+(-b*-b)
制定第二个产品:(b*b)+(b*-a)+(-a*b)+(-a*-a)
众所周知,在环-x*y = x*-y = -(x*y)
和--x = x
中,使用它来简化一下:
L:(a*a)+-(a*b)+-(b*a)+(b*b)
R:(b*b)+-(b*a)+-(a*b)+(a*a)
然后重新安排一下。