Mais, si vous voulez en stocker un tas, vous pouvez les déplacer par bits et les stocker tous sous la forme d'un entier, un peu comme les autorisations / modes de fichiers Unix.
Pour le mode 755 par exemple, chaque chiffre fait référence à une classe d'utilisateurs différente: propriétaire, groupe, public. Dans chaque chiffre 4 est lu, 2 est écrit, 1 est exécuté, donc 7 est tous comme le binaire 111. 5 est lu et exécuté, donc 101. Créez votre propre schéma de codage.
J'écris juste quelque chose pour stocker les données de programmation TV de Schedules Direct et j'ai les champs binaires ou oui / non: stéréo, hdtv, nouveau, ei, sous-titré, dolby, sap en espagnol, première de la saison. Donc 7 bits, ou un entier avec un maximum de 127. Un caractère vraiment.
Exemple AC de ce que je travaille maintenant. has () est une fonction qui renvoie 1 si la 2ème chaîne est dans la première. inp est la chaîne d'entrée de cette fonction. misc est un caractère non signé initialisé à 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;
Je stocke donc 7 booléens dans un entier avec de la place pour plus.