生成gray码

 

 1 //生成reflected gray code
 2 //每次调用gray取得下一个码
 3 //000...000是第一个码,100...000是最后一个码
 4 void gray(int n,int *code){
 5     int t=0,i;
 6     for (i=0;i<n;t+=code[i++]);
 7     if (t&1)
 8         for (n--;!code[n];n--);
 9         code[n-1]=1-code[n-1];
10 }

 

 

posted on 2012-08-06 15:14  dinghing  阅读(215)  评论(0编辑  收藏  举报

导航