Stap 2: Grijze broncode
Hoe te genereren van grijze Codes?
Ik heb ook een 'C' bron steekproefcode die grijze codes voor een willekeurig aantal bits tussen 1 en 32 bits hieronder genereert:
#include "stdio.h"
#include "math.h"
//---------------------------------------------------------------------------
#define prntvalue(x,y) waarde = 0; voor (ik = 0; ik < bits; i ++) als (gray_scale[i]=='1') waarde = waarde + pow(2,i); printf ("% 8ld:", waarde)
#define prntbits(x,y) voor (ik = 0; ik < bits; i ++) printf("%c",gray_scale[i])
//---------------------------------------------------------------------------
int main (int argc, char ** argv)
{
#define MAXBITS 32
char gray_scale [MAXBITS];
int i;
int bits;
lange int index = 0;
lange int waarde;
Als (argc == 2)
{
sscanf (argv [1], "%d", & bits);
}
anders
{
printf ("Voer het aantal grijstinten bits voor het genereren van:");
scanf ("%d", & bits);
}
Als ((bits < = 0) || (bits>MAXBITS))
{
printf ("grijze code bits moeten zijn tussen 1 en %d\n",MAXBITS);
}
anders
{
voor (ik = 0; ik gray_scale [i] = '0';
index = 0;
printf ("positie: grijs: BINARY\n");
printf ("%8 d:", index);
prntvalue(bits,gray_scale);
prntbits(bits,gray_scale);
printf("\n");
voor (index = 1; index {}
voor (ik = bits; ((i>0) & &(index%int(pow(2,i)));i--);
Als (gray_scale[i]=='0')-gray_scale [i] = '1';
anders gray_scale [i] = '0';
printf ("%8 d:", index);
prntvalue(bits,gray_scale);
prntbits(bits,gray_scale);
printf("\n");
}
}
keren 0;
}