求助c语言程序

来源:百度知道 编辑:UC知道 时间:2024/06/05 17:02:03
7位格雷码转成7位二进制的c程序

请高手赐教

呵呵 给一个 楼上的是找的网上的吧
还好意思说运行过了
给一个我自己写的子程序
static unsigned int graytodecimal(unsigned int x)
{
unsigned int y = x;
while(x> > =1)
y ^= x;
return y;
}
,最高可转换32位格雷码,超出32位将溢出。将数据类型改为int型即可实现31位格雷码转换。
上述代码即可用于vc控制程序中,也可以用于单片机控制程序中。在单片机程序设计时,若采用汇编语言编程,可以按相同的原理设计程序;若采用c语言编程,则可以直接利用上述代码,但建议用unsigned int函数。

给,已经运行过了:

#include <stdio.h>
#ifdef test
#include <time.h>
#endif

/**
* 二进制转换成格雷码
* @param lStart lValue所在区间下界
* @param lEnd lValue所在区间上界
* @param lValue 要转换的二进制数的实值
* @return 返回格雷码对应的二进制数的实值
* @see g2b() g2b 格雷码转换二进制
* @see BtoG() BtoG 二进制转换格雷码
* @see GtoB() BtoG 格雷码转换二进制
* @author 黄毅
* @useage a=b2g(0,15,4); //取得4所对应格雷码的二进制值 结果a等于6
* @memo lValue的值必须在区间[lStart,lEnd]里,否则无法求得所求结果.相应地,如果区间越小,求得结
* 果所用的时间就越少.而且lStart,lEnd的值必须为