Existem muitos termos diferentes usados para descrever isso.
Mais comumente, os bits são chamados de "sinalizadores de bits" ou "campos de bits".
(No entanto, vale a pena notar que "campos de bits" às vezes se referem a um recurso específico das linguagens C e C ++, que está relacionado, mas não exatamente o mesmo.)
O inteiro em si é chamado de "matriz de bits", "conjunto de bits" ou "vetor de bits", dependendo dos usos e circunstâncias.
De qualquer maneira, extrair os bits do conjunto de bits / vetor / matriz é feito através de deslocamento e mascaramento.
(ou seja, usando uma máscara de bits .)
Para alguns exemplos de cada termo em uso ativo:
Não é realmente pertinente para a pergunta, mas eu gostaria de dizer: por favor, não use adição e subtração para definir e limpar bits, pois esses métodos são propensos a erros.
(ou seja, se você usar num += 1
duas vezes, o resultado será equivalente a num += 2
.)
Prefere usar as operações bit a bit apropriadas, se o idioma escolhido as fornecer:
packStatesIntoNumber ()
{
let num = 0
if (this.stateA) num |= 1
if (this.stateB) num |= 2
if (this.stateC) num |= 4
if (this.stateD) num |= 8
if (this.stateE) num |= 16
if (this.stateF) num |= 32
return num
}
unpackStatesFromNumber (num)
{
this.stateF = ((num & 32) != 0);
this.stateE = ((num & 16) != 0);
this.stateD = ((num & 8) != 0);
this.stateC = ((num & 4) != 0);
this.stateB = ((num & 2) != 0);
this.stateA = ((num & 1) != 0);
}