Ancak, bir grup saklamak istiyorsanız, onları biraz değiştirebilir ve hepsini tek bir int olarak, biraz unix dosya izinleri / modları gibi saklayabilirsiniz.
Örneğin 755 modu için, her bir basamak farklı bir kullanıcı sınıfını ifade eder: sahip, grup, genel. Her bir basamakta 4 okunur, 2 yazılır, 1 yürütülür, böylece 7 hepsi ikili 111 gibidir. 5 okunur ve yürütülür 101. Kendi kodlama şemanızı oluşturun.
Sadece Schedules Direct'ten TV programı verilerini depolamak için bir şeyler yazıyorum ve ikili veya evet / hayır alanlarına sahibim: stereo, hdtv, yeni, ei, altyazılı, dolby, İspanyolca İspanyolca, sezon prömiyeri. Yani 7 bit veya maksimum 127 olan bir tam sayı. Bir karakter gerçekten.
Şu anda üzerinde çalıştığım şeyden bir AC örneği. has () işlevi, 2. dize ilk satırdaysa 1 döndüren bir işlevdir. inp, bu işlevin giriş dizesidir. misc, 0 olarak başlatılmış işaretsiz bir karakterdir.
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;
Bu yüzden daha fazla bilgi için oda ile bir tamsayıda 7 boolean saklıyorum.