लेकिन, यदि आप उनमें से एक गुच्छा आप उन्हें थोड़ा-शिफ्ट और उन सभी को एक पूर्णांक के रूप में संग्रहीत कर सकती है, एक छोटे से यूनिक्स फाइल अनुमति/मोड की तरह संग्रहीत करना चाहते हैं।
उदाहरण के लिए मोड 755 के लिए, प्रत्येक अंक उपयोगकर्ताओं के एक अलग वर्ग को संदर्भित करता है: मालिक, समूह, सार्वजनिक। प्रत्येक अंक 4 के भीतर पढ़ा जाता है, 2 लिखता है, 1 निष्पादित होता है, इसलिए 7 उनमें से सभी बाइनरी 111 की तरह हैं। 5 पढ़ा और निष्पादित किया गया है 101. अपनी खुद की एन्कोडिंग योजना बनाएं।
मैं सिर्फ अनुसूची डायरेक्ट से टीवी शेड्यूल डेटा संग्रहीत करने के लिए कुछ लिख रहा हूं और मेरे पास द्विआधारी या हां/नहीं फ़ील्ड हैं: स्टीरियो, एचडीटीवी, नया, ईआई, क्लोज कैप्शन, डॉल्बी, स्पेनिश में सीजन प्रीमियर। तो 7 बिट्स, या अधिकतम 127 के साथ एक पूर्णांक। वास्तव में एक चरित्र।
अब से मैं जो काम कर रहा हूं उससे एक सी उदाहरण। है() एक ऐसा फ़ंक्शन है जो 1 स्ट्रिंग करता है यदि दूसरी स्ट्रिंग पहले में होती है। inp इस फ़ंक्शन के लिए इनपुट स्ट्रिंग है। विविध एक अहस्ताक्षरित चार 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;
तो मैं अधिक के लिए कमरे के साथ एक पूर्णांक में 7 बूलियन्स भंडारण कर रहा हूँ के लिए शुरू है।
स्रोत
2016-02-18 02:35:30
के संभावित डुप्लिकेट [वहाँ SQLite में एक बूलियन शाब्दिक है?] (Http://stackoverflow.com/questions/2510652/is- वहां-ए-बूलियन-शाब्दिक-इन-स्क्लाइट) –