格雷编码(转换与计算)附代码

目录

格雷码对应表

格雷码转换公式

公式1

公式2

代码实现


格雷码对应表

十进制数

4位自然二进制码

4位典型格雷码

0

0000

0000

1

0001

0001

2

0010

0011

3

0011

0010

4

0100

0110

5

0101

0111

6

0110

0101

7

0111

0100

8

1000

1100

9

1001

1101

10

1010

1111

11

1011

1110

12

1100

1010

13

1101

1011

14

1110

1001

15

1111

1000


格雷码转换公式

公式1

G_{i}=B_{i}\bigoplus B_{i+1} (0\leqslant i\leqslant n-1) 

Bi+1=n时,当作0

公式2

G_i=i\bigoplus\lfloor \frac{i}{2}\rfloor

这里的 i 都是二进制表示形式

比如5的格雷码是 101\bigoplus 010 =111


代码实现

class Solution {
public:
    vector grayCode(int n) {
        vectorret(1<>1);
        }
        return ret;
    }
};

你可能感兴趣的:(算法,数字系统原理,算法,笔记)