Pero, si desea almacenar un montón de ellos, puede cambiarlos y almacenarlos todos como un int, un poco como los permisos / modos de archivo Unix.
Para el modo 755, por ejemplo, cada dígito se refiere a una clase diferente de usuarios: propietario, grupo, público. Dentro de cada dígito se lee 4, 2 se escribe, 1 se ejecuta para que 7 sea como el binario 111. 5 se lee y se ejecuta para 101. Cree su propio esquema de codificación.
Solo estoy escribiendo algo para almacenar datos de programación de TV de Schedules Direct y tengo los campos binarios o sí / no: estéreo, hdtv, nuevo, ei, subtítulos, dolby, sap en español, estreno de temporada. Entonces 7 bits, o un número entero con un máximo de 127. Un personaje realmente.
Ejemplo de AC de lo que estoy trabajando ahora. has () es una función que devuelve 1 si la segunda cadena está en la primera. inp es la cadena de entrada a esta función. misc es un carácter sin signo inicializado a 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;
Así que estoy almacenando 7 booleanos en un entero con espacio para más.