Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Qué significa agregar dos puntos ":1" después de un miembro en la definición de la estructura?

¿Qué significa agregar dos puntos ":1" después de un miembro en la definición de la estructura?

Este es el método de representación de la operación del campo de bits, es decir, agregar ":1" después significa que el tamaño de este miembro representa 1 bit del tipo definido, cuentas ":2". para 2 bits, y así sucesivamente por analogía. Por supuesto, el tamaño no puede exceder el número total de bits contenidos en el tipo definido.

Un byte son 8 bits. Por ejemplo, el tipo definido en su estructura es u_char, un byte, ***8 bits y el máximo no puede exceder 8.

En una computadora de 32 bits,

short es de 2 bytes, ***16 bits y el máximo no puede exceder los 16.

int es de 4 bytes, * **32 bits, el máximo no puede exceder 32.

Y así sucesivamente.

Esta definición ahorra espacio. Por ejemplo, en la estructura anterior, el tipo de variable definido es u_char, que es un tipo de un byte, es decir, 8 bits.

fc_subtype ocupa 4 bits, fc_type ocupa 2 bits, fc_protocol_version ocupa 2 bits, ***8 bits, que es exactamente un byte.

Los otros ocho miembros ocupan cada uno 1 bit, ***8 bits, que es exactamente un byte.

Entonces, si el tamaño de su estructura se calcula usando sizeof (struct frame_control), es de 2 bytes.