Étape 2: Gris Code Source
Comment faire pour générer des Codes gris ?
J’ai inclus un exemple « C » de code source qui génère des codes gris pour n’importe quel nombre de bits entre 1 et 32 bits ci-dessous :
#include « stdio.h »
#include « math.h »
//---------------------------------------------------------------------------
#define prntvalue(x,y) valeur = 0 ; pour (i = 0; j’ai < bits; i ++) si (gray_scale[i]=='1') valeur = valeur + pow(2,i) ; printf ("% 8ld:", valeur)
#define prntbits(x,y) pour (i = 0; i < bits; i ++) printf("%c",gray_scale[i])
//---------------------------------------------------------------------------
int main (int argc, char ** argv)
{
#define MAXBITS 32
char gray_scale [MAXBITS] ;
int i ;
int bits ;
long int index = 0 ;
long int valeur ;
Si (argc == 2)
{
sscanf (argv [1], « %d », & bits) ;
}
d’autre
{
printf ("Veuillez entrer le nombre de bits d’échelle de gris pour générer:") ;
scanf (« %d », & bits) ;
}
Si ((bits < = 0) || (bits>MAXBITS))
{
printf ("gris code bits doivent être comprise entre 1 et %d\n",MAXBITS) ;
}
d’autre
{
pour (i = 0; i gray_scale [i] = « 0 » ;
index = 0 ;
printf ("Position : gris : BINARY\n") ;
printf ("%8 d:", index) ;
prntvalue(bits,gray_scale) ;
prntbits(bits,gray_scale) ;
printf("\n") ;
pour (indice = 1; index {}
pour (i = bits ; ((i>0) & &(index%int(pow(2,i)));i--);
Si (gray_scale gray_scale[i]=='0') [i] = « 1 » ;
d’autre gray_scale [i] = « 0 » ;
printf ("%8 d:", index) ;
prntvalue(bits,gray_scale) ;
prntbits(bits,gray_scale) ;
printf("\n") ;
}
}
return 0 ;
}