void NAND(unsigned char in0,
unsigned char in1,
unsigned char *out) {
*out = ~ (in0 & in1);
}
Notar que por el tipo de dato usado para almacenar un bit, son posibles hasta 256 valores diferentes para un estado l'ogico. Puesto que nuestro simulador es digital, s'olo usaremos los valores 0 y 255 para representar respectivamente el 0 y el 1 l'ogicos. Cualquier valor intermedio no tiene significado.
Sobre el uso de un tipo de datos de 8 bits para almacenar un bit se puede decir muchas cosas y la principal es que pr'acticamente 7/8 partes de la memoria usada para almacenar variables l'ogicas est'a desperdiciada. Efectivamente, 'esto es cierto cuando se est'a realizando una simulaci'on simplemente digital (que es nuestro caso). Sin embargo, pensando en una ejecuci'on lo m'as r'apida posible y en una implementaci'on c'omoda, es sin duda lo m'as adecuado. Adem'as, como m'as tarde veremos, el poder representar una se nal l'ogica con hasta 256 niveles de voltaje diferentes, nos posibilita la construcci'on de simuladores m'as reales que tengan en cuenta problemas como el fan-in y transiciones de reloj no ideales (con pendiente), sin m'as que mejorar los modelos usados para simular las puertas l'ogicas.