作者imbohn (看你的信是一天中享受)
标题[转录]一个交电的有趣问题
时间Sun Mar 18 12:14:32 2007
※ [本文转录自 imbohn 信箱]
作者:
[email protected] (
[email protected])
标题: 一个交电的有趣问题
时间: Sun Mar 18 12:13:32 2007
作者: bohn (没有压力的学习) 看板: Bohn
标题: 一个交电的有趣问题
时间: Sun Mar 18 12:12:30 2007
知道这是课内的,只是作了两种验证,竟然都对。想问一下大大们这个背後的
原理是什麽,以下是高阶语言的描述方式。
举例来说 ^ : exclusiveor
预设
I = 0011_0111
Mask = I ^ 1111_1111
tmp = Mask
Loop1:
tmp = tmp + 1;
out = mask ^ (tmp | mask);
tmp = tmp | mask; GO TO loop1
Loop2
tmp = tmp + 1;
out = tmp ^ (tmp & mask);
tmp = tmp | mask; GO TO loop2
请注意loop1 和 loop2的第二行,一个是用mask里面是or,一个是用tmp里面是and。
这两个都会对。跑了很多case,但在这背後一定有一个原理存在。那是什麽呢?
--
※ 发信站: 批踢踢兔(ptt2.cc)
◆ From: 123.193.15.241
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.193.15.241