ExpertiDict

C · Avançado · Português · Técnico

campo de bits

/ˈkɐ̃.pu dʒi ˈbi.tʃis/substantivo

Membro de struct declarado com largura em bits, como unsigned flag : 1. Permite empacotar várias flags ou valores pequenos em poucos bytes.

Onde usar

Aparece em registradores de hardware e protocolos. A ordem dos bits e o layout são definidos pela implementação, então não servem para formatos binários portáveis.

Em código

struct flags {
  unsigned lido : 1;
  unsigned erro : 1;
  unsigned modo : 3;
};
struct flags f = {.lido = 1, .modo = 5};

Exemplos

Usei campos de bits para guardar três flags num único byte.

Não confie na ordem dos campos de bits entre compiladores.

Cuidado

Tentar pegar o endereço de um campo de bits com &, o que não é permitido.

Sinônimos

bit-field

Veja também

Todos os termos de C