首页
社区
课程
招聘
[旧帖] 請教一個簡單的數學及計算機方面的異或問題(1)。 0.00雪花
发表于: 2009-12-10 11:00 4395

[旧帖] 請教一個簡單的數學及計算機方面的異或問題(1)。 0.00雪花

2009-12-10 11:00
4395
Hello~
   請教一個簡單的數學及計算機方面的異或問題。
我的問題如下:

notation:
⊕: 表示異或 (exclusive-or).
-5: 表示 負整數 5.
這裡的負數,以二補碼的方式表示。(two's complement)

當 A, B 均為奇數時,則 A⊕B = -A ⊕ -B.

例如一:
A=5, B= 7, 則 5⊕7 = -5 ⊕ -7.

00000101

00000111
--------------
00000010

例如二:
A=199, B=477, 則 199⊕477 = -199 ⊕ -477.

可否以數學一點的方式來證明。
謝謝。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
假如 A为 x1 x2 x3 x4 x5 x6 x7 1
     B为 y1 y2 y3 y4 y5 y6 y7 1
这里x y代表2进制位(末位必然是1,因为是奇数,这里不分正数和负数,只要是奇数其尾数必然是 1)
然后看 -A,-B (暂时以 -x  -y 表示其反   即0的反是1,1的反是0)
-A 为 -x1 -x2 -x3 -x4 -x5 -x6 -x7 1 (因为是取反加1 所以末位的1不变)
-B 为 -y1 -y2 -y3 -y4 -y5 -y6 -y7 1 (因为是取反加1 所以末位的1不变)
因为我们都知道x⊕y = -x⊕-y(因为1⊕1 = 0⊕0,0⊕1=1⊕0)
这样 A⊕B = -A ⊕-B 就很容易证明是相等了啦
2009-12-10 11:27
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
3
等楼下
因为我知道没完
2009-12-10 11:48
0
雪    币: 120
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我只说理论证明:
首先从A,B的最低位说起,因为都是奇数,所以-A,-B(补码)都不会产生进位
然后看A,B的每一个2进制位
因为异或运算法则为a异或b=a'b或ab'(a'为非a)。
所以a'异或b'=a异或b
推出 A,B为奇数时他们的异或等于-A,-B(补码)的异或
2009-12-10 14:29
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
5
rockinuk 在 10F
Loka 在 13F
nutdsong 及 Ivanov 在 46F
deryope 在 47F

分別做出不同的貢獻,但還差一個完整的數學證明來表達。
2009-12-10 17:27
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
顶下/.................................
2009-12-10 17:31
0
雪    币: 40
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
因为a是奇数 末位是1
-a = a xor 11111111 +1 = a xor 11111110
那 -a xor -b = a xor 11111110 xor b xor 11111110 = a xor b
2009-12-11 07:06
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
rockinuk 在 10F
Loka 在 13F
nutdsong 及 Ivanov 在 46F
deryope 在 47F
2009-12-11 07:40
0
雪    币: 440
活跃值: (87)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
9
我来发个完整的证明

若A,B均为奇数时,则 A xor B = (-A) xor (-B) .
(设每个数占用8 比特,且使用补码表示)

证: (-A) 即为 A的各个比特位取反,再+1。
     若A为奇数,即A的第0比特位为1,则-A的第0比特位为1,其余比特位与A对应比特位相反。
  于是有 A xor (-A) = 0xFE.

另,由异或运算的性质,有: A = B  <==>  A xor B = 0

所以
        A xor B = (-A) xor (-B)
<==>  ( A xor (-A) ) xor ( B xor (-B) )  = 0
而 A,B均为奇数,A xor (-A) =  B xor (-B) = 0xFE,0xFE xor 0xFE = 0.
所以 A xor B = (-A) xor (-B) 成立。

PS:感谢版主提醒,已经改正错误了
2009-12-11 10:02
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
10
[QUOTE=asdfslw;725282]我来发个完整的证明.....QUOTE]

我提供兩個 pdf 檔當樣本,裡面有 definition, theorem, Lemma 及 proof 等.
請參考看看。
上传的附件:
2009-12-22 00:10
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
这个要学习了
2009-12-22 07:37
0
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
12
看來要等到滿意的答案可能要等很久了 。
我還是把賞金發出去結案。
2010-1-10 01:54
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
学习了、、、、、、、
2010-1-10 23:57
0
游客
登录 | 注册 方可回帖
返回
//