无符号二进制算术。减法并将其平方

时间:2018-03-16 04:21:19

标签: integer-arithmetic

我们有两个变量:

unsigned int a=5; unsigned int b=3;

我们知道,

a-b==~(b-a)+1

但如何证明,

(a-b)*(a-b)==(b-a)*(b-a)

1 个答案:

答案 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)

然后重新安排一下。