Pero, si se desea almacenar un montón de ellos que podría cambiar de bits y almacenarlos todos como uno int, un poco como de archivos UNIX permisos/modos.
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 4 se lee, 2 es escritura, 1 se ejecuta, por lo que 7 es como el 111 binario. 5 se lee y se ejecuta así 101. Cree su propio esquema de codificación.
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 entero con un máximo de 127. Un personaje realmente.
Un ejemplo C 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. misceláneos es un unsigned char 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.
posible duplicado de [¿Hay un literal booleano en SQLite?] (Http://stackoverflow.com/questions/2510652/is- there-a-boolean-literal-en-sqlite) –