Paso 2: Gris código fuente
¿Cómo generar códigos de gris?
He incluido un muestra 'C' código que genera los códigos grises para cualquier número de bits entre 1 y 32 bits a continuación:
#include "stdio.h"
#include "math.h"
//---------------------------------------------------------------------------
#define prntvalue(x,y) valor = 0; para (i = 0; i < bits; i ++) si (valor gray_scale[i]=='1') = valor + pow(2,i); printf ("% 8ld:", valor)
#define prntbits(x,y) para (i = 0; i < bits; i ++) printf("%c",gray_scale[i])
//---------------------------------------------------------------------------
principal de la int (int argc, char ** argv)
{
#define MAXBITS 32
char gray_scale [MAXBITS];
int i;
int pedacitos;
Índice int largo = 0;
largo int valor;
Si (argc == 2)
{
sscanf (argv [1], "%d" & bits);
}
otra cosa
{
printf ("introduce el número de bits de escala de grises para generar:");
scanf ("%d" & bits);
}
Si ((bits de < = 0) || (bits>MAXBITS))
{
printf ("código gris bits deben estar entre 1 y %d\n",MAXBITS);
}
otra cosa
{
para (i = 0; i gray_scale [i] = '0';
índice = 0;
printf ("posición: gris: BINARY\n");
printf ("8% d:", índice);
prntvalue(bits,gray_scale);
prntbits(bits,gray_scale);
printf("\n");
para (Índice = 1; Índice {}
para (i = bits; ((i>0) & &(index%int(pow(2,i)));i--);
Si (gray_scale gray_scale[i]=='0') [i] = '1';
otro gray_scale [i] = '0';
printf ("8% d:", índice);
prntvalue(bits,gray_scale);
prntbits(bits,gray_scale);
printf("\n");
}
}
return 0;
}