Mas, se você deseja armazenar vários deles, pode alterá-los e armazená-los como um int, como as permissões / modos de arquivo unix.
Para o modo 755, por exemplo, cada dígito refere-se a uma classe diferente de usuários: proprietário, grupo, público. Dentro de cada dígito 4 é lido, 2 é gravado, 1 é executado e 7 são todos iguais ao 111 binário. 5 são lidos e executados assim 101. Crie seu próprio esquema de codificação.
Estou apenas escrevendo algo para armazenar dados de programação de TV do Schedules Direct e tenho os campos binários ou sim / não: estéreo, hdtv, novo, ei, legendas ocultas, dolby, sap em espanhol, estréia da temporada. Então, 7 bits ou um número inteiro com no máximo 127. Um caractere realmente.
Um exemplo do que estou trabalhando agora. has () é uma função que retorna 1 se a segunda string estiver na primeira. inp é a string de entrada para esta função. misc é um caracter não assinado inicializado como 0.
if (has(inp,"sap='Spanish'") > 0)
misc += 1;
if (has(inp,"stereo='true'") > 0)
misc +=2;
if (has(inp,"ei='true'") > 0)
misc +=4;
if (has(inp,"closeCaptioned='true'") > 0)
misc += 8;
if (has(inp,"dolby=") > 0)
misc += 16;
if (has(inp,"new='true'") > 0)
misc += 32;
if (has(inp,"premier_finale='") > 0)
misc += 64;
if (has(inp,"hdtv='true'") > 0)
misc += 128;
Então, eu estou armazenando 7 booleanos em um inteiro com espaço para mais.