目录
格雷码对应表
格雷码转换公式
公式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
Bi+1=n时,当作0
公式2
这里的 都是二进制表示形式
比如5的格雷码是 =111
代码实现
class Solution {
public:vector<int> grayCode(int n) {vector<int>ret(1<<n);for(int i=0;i<ret.size();i++){ret[i]=i^(i>>1);}return ret;}
};