Puedo typedef char a CHAR1 que es de 8 bits. Pero, ¿cómo puedo hacer una variable de 3 bits como tipo de datos?
Es posible que desee hacer algo similar a lo siguiente:
struct { . . . unsigned int fieldof3bits : 3; . . . } newdatatypename; En este caso, el fieldof3bits de 3 bits ocupa 3 bits en la estructura (sin embargo, según cómo defina todo lo demás, el tamaño de la estructura puede variar).
Este uso es algo llamado campo de bits .
De Wikipedia:
Un campo de bits es un término utilizado en la programación de computadoras para almacenar múltiples bits vecinos lógicos, donde se puede direccionar cada uno de los conjuntos de bits y bits individuales. Un campo de bits se usa más comúnmente para representar tipos integrales de ancho de bits fijo conocido.
Parece que está solicitando campos de bits https://en.wikipedia.org/wiki/Bit_field Solo tenga en cuenta que, en algunos casos, puede ser más seguro usar caracteres o caracteres sin firmar en lugar de bits (compilador específico, diseño de memoria física, etc.) )
¡Feliz codificación!
typedef struct { int a:3; }hello;Solo es posible cuando está dentro de la estructura, de lo contrario no es