gray.c

来自「CVAVR的函数库的源代码。开发AVR的编译器CodeVision AVR最新版」· C语言 代码 · 共 58 行

C
58
字号
/*
  CodeVisionAVR C Compiler
  (C) 1998-2004 Pavel Haiduc, HP InfoTech S.R.L.

  Gray code conversion functions
*/

unsigned char gray2binc(unsigned char n)
{
register unsigned char t,s;
s=1;
while (t=(n>>s))
      {
      n^=t;
      s<<=1;
      };
return n;
}

unsigned int gray2bin(unsigned int n)
{
register unsigned int t,s;
s=1;
while (t=(n>>s))
      {
      n^=t;
      s<<=1;
      };
return n;
}

unsigned long gray2binl(unsigned long n)
{
unsigned long t,s;
s=1;
while (t=(n>>s))
      {
      n^=t;
      s<<=1;
      };
return n;
}

unsigned char bin2grayc(unsigned char n)
{
return n^n>>1;
}

unsigned int bin2gray(unsigned int n)
{
return n^n>>1;
}

unsigned long bin2grayl(unsigned long n)
{
return n^n>>1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?