接原帖46的讨论:http://bbs.pediy.com/showthread.php?t=87916&page=4

引用:
Algorithm : 由我寫的,證明也由我完成。
以下這個是將 Lemma 4 及 Lemma 5 合併寫成一個
哦,看这个我明白这段程序是什么意思了,也就说验证下仅有在这个条件满足时才是成立的吧,我试试看。


试了下,发现并不仅仅在上面那个情况下成立。因为没能看到 Lemma 5 中关于偶数相等时的详细定义,我只能根据上面这个条件说说我的理解。
按版主L4和L5合并后的思路,当且仅当【A,B都是奇数】,或【A,B是偶数,且能被4整除但不是8的倍数】这两种情况下成立才有相等吧,但我觉得这个同为偶数时的定义漏掉了很多情况,比如:2 xor 2, 16 xor 16 ...

当然不一定A,B相等时才出现xor相等,其实 2 xor 6 也是和 -2 xor -6 相等的。也许版主用的是Windows计算器确定的结果,我觉得那个算法实际上是经过符号位优化后的,我举个例子吧:
引用:
比如 2 xor 6,运行calc.exe,先算 2 xor 6,结果显然是4。然后接着算 -2 xor -6,这时问题就来了,算出的结果是 -4
我们从一个32位寄存器的 xor 操作来看,2,-2 和 6,-6 在寄存器里是这样表示的:
   2 = 0x00000002    6 = 0x00000006
  -2 = 0xFFFFFFFE   -6 = 0xFFFFFFFA

你计算 0xFFFFFFFE xor 0xFFFFFFFA 看看,这个结果是多少?不是 -4 (0xFFFFFFFC) 吧。
所以 2 xor 6 也是满足条件的,但显然不在L4 和 L5合并后那个推论中。这样的例子还能举很多,不知道版主关于A,B同为偶数且xor相等的条件是如何定义?