目录
格雷码对应表
格雷码转换公式
公式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;}
};