Grå koder (2 / 2 steg)
Steg 2: Grå Kodkälla
Hur man generera grå koder?
Jag har tagit ett prov "C" källa koden som skapar grå koder för valfritt antal bitar mellan 1 och 32 bitar nedan:
#include "stdio.h"
#include "math.h"
//---------------------------------------------------------------------------
#define prntvalue(x,y) värde = 0; för (jag = 0; jag < bits; i ++) om (gray_scale[i]=='1') värde = värde + pow(2,i); printf ("% 8ld:", värde)
#define prntbits(x,y) för (jag = 0; jag < bits; i ++) printf("%c",gray_scale[i])
//---------------------------------------------------------------------------
int main (int argc, char ** argv)
{
#define MAXBITS 32
char gray_scale [MAXBITS];
int i;
int bitar;
lång heltal index = 0;
långa int värde;
om (argc == 2)
{
sscanf (argv [1], "%d" & bitar);
}
annat
{
printf ("Skriv in antalet gråskalan bitar att generera:");
scanf ("%d", & bitar);
}
om ((bitar < = 0) || (BITS>MAXBITS))
{
printf ("grå kod bitar måste vara mellan 1 och %d\n",MAXBITS).
}
annat
{
för (jag = 0; jag gray_scale [i] = "0";
index = 0;
printf ("Position: grå: BINARY\n");
printf ("%8 d:", index);
prntvalue(BITS,gray_scale);
prntbits(BITS,gray_scale);
printf("\n");
för (index = 1; index {
för (jag = bitar; ((i>0) & &(index%int(pow(2,i)));i--);
om (gray_scale[i]=='0') gray_scale [i] = '1';
annat gray_scale [i] = "0";
printf ("%8 d:", index);
prntvalue(BITS,gray_scale);
prntbits(BITS,gray_scale);
printf("\n");
}
}
Return 0;
}