本文主要是介绍格雷玛,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
格雷码:给定一个二进制的位数n,求出一个0到2^n-1的排列,使得相邻两项排列(包括头尾相邻)的二进制表达中只有恰好一位不同。
比如:
数字 二进制
0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
等等……
由上面比较上下两个二进制可发现相邻两项排列只有恰好只有一位不同,这就是格雷码。
其C++程序为:
vector<int>Gray_Create(int n)
{vector<int>res;for(int i=0;i<(1<<n);i++)res.push_back(i^(i>>1));return res;
}
这篇关于格雷玛的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!