![]() |
1
6
如果你看二进制计数序列,你会注意到,相邻的代码在最后几位不同(没有空穴),所以如果你异或它们,几个尾随1的模式就会出现。另外,当您右移数字时,xor也将右移:(A xor B)>>N==A>>N xor B>>N。
原始的异或结果和移位结果在单个位上是不同的(我用上面的点标记它们)。这意味着,如果你异或它们,你将得到1位模式集。所以,
当异或在不同的位上给我们1时,它证明了相邻的码只在一个位上不同,这是我们想要得到的灰色码的主要性质。 所以为了完整性,我们可以证明,N可以从它的N^(N>gt;1)值恢复:知道第N位代码,我们可以使用xor恢复第N位代码。
从最大位开始(与0进行异或),这样我们就可以恢复整数。 |
![]() |
2
1
通过归纳证明。
|
![]() |
3
1
Wikipedia entry 你指的是用一种非常迂回的方式解释这个方程。 不过,这有助于从以下方面入手:
换句话说,
换句话说:
完整地计算出数学,你会得到
|
![]() |
4
0
递增一个数字,当你按位看它时,会将所有的尾随的1翻转为0,最后的0翻转为1。这是很多位的翻转,而灰色代码的目的是使它恰好是一个。此转换使所有被翻转的位上的两个数字(递增前后)相等,但最高的位除外。
之后:
|
![]() |
feasega · 聚合物模拟-2个节点之间的最短路线,适用于所有节点 7 月前 |
![]() |
Alisa Petrova · 在有向图中更改一对顶点以创建循环 7 月前 |
![]() |
b39b332d · 使用C++标准库实现高效间隔存储 11 月前 |
![]() |
Paul C · 在维基百科上,将二叉搜索树转换为排序链表的算法是否存在错误? 12 月前 |
![]() |
ABGR · 二叉树的直径——当最长路径不通过根时的失败案例 1 年前 |
![]() |
EpicAshman · 数独棋盘程序中同一列和同一行出现两次的数字 1 年前 |