Red de conocimiento informático - Computadora portátil - Cómo definir una estructura de 16 bits en dos partes: 4 bits y 12 bits en lenguaje C

Cómo definir una estructura de 16 bits en dos partes: 4 bits y 12 bits en lenguaje C

1. Se puede implementar mediante campos de bits, de la siguiente manera:

struct int_16

{

unsigned a: 4; /ocupa El nombre de la variable parcial de 4 bits es a

unsigned b : 12; //El nombre de la variable parcial de 12 bits es b

};

2. Las variables de tipo bit se definen en lenguaje C y se pueden personalizar mediante campos de bits.

Definición de campos de bits y descripción de variables de campos de bits La definición de campos de bits es similar a la definición de estructura y su forma es:

estructura nombre de estructura de campo de bits

{ lista de campos de bits};

La forma de la lista de campos de bits es: Nombre de dominio de bits del especificador de tipo: longitud del campo de bits;

Ejemplo: Calcular el estándar de número de punto flotante IEEE754 mediante el campo de bits, único El número máximo, mínimo y mínimo débilmente canónico de números de punto flotante de precisión.

#include

typedef struct FP_SINGLE

{

fracción __int32 unsigned: 23;

sin firmar __int32 exp: 8;

sin firmar __int32 signo: 1;

} fp_single;

int main()

{

flotante x;

fp_single * fp_s = (fp_single *)&x;

fp_s->signo = 0;

fp_s- >exp = 0xfe;

fp_s->fracción = 0x7fffff;

printf ("Número flotante máximo: %le\n",(double)x);

fp_s->signo = 0;

fp_s->exp = 0x1;

fp_s->fracción = 0x0;

printf ("número mínimo flotante : %le\n",(double)x);

fp_s->signo = 0;

fp_s->exp = 0;

fp_s- >fracción = 0x1;

printf ("número de especificación débil mínimo flotante: %le\n\n",(double)x);

devuelve 0;

}