आपको निश्चित रूप से INT
(यदि आपको 32 झंडे की आवश्यकता है) या BIGINT
(64 झंडे के लिए) का उपयोग करना चाहिए। यदि आपको अधिक झंडे की आवश्यकता है तो आप BINARY
का उपयोग कर सकते हैं (लेकिन आपको शायद यह भी पूछना चाहिए कि आपको अपने आवेदन में इतने सारे झंडे क्यों चाहिए)।
इसके अलावा, यदि आप एक अभिन्न प्रकार का उपयोग करते हैं, तो आप मानक bitwise operators का उपयोग सीधे बाइट सरणी को अभिन्न प्रकार में परिवर्तित किए बिना कर सकते हैं।
यदि आपको अधिक झंडे की आवश्यकता है और BINARY
का उपयोग करना है तो आप bitwise ऑपरेटरों के लिए मूल समर्थन खो देते हैं और इसलिए ध्वज मूल्यों की जांच के लिए आसान समर्थन। मैं शायद क्लाइंट एप्लिकेशन के लिए ध्वज मूल्यों की जांच करना चाहता हूं लेकिन यदि आप टी-एसक्यूएल में प्रोग्रामिंग आरामदायक हैं तो यह भी एक विकल्प है। यदि आप सी # का उपयोग कर रहे हैं तो आपके पास आवश्यक संचालन के साथ BitArray
कक्षा है और जावा में आपके पास BitSet
कक्षा है।
स्रोत
2009-04-30 22:30:50
हाँ, या छोटे छोटे मास्क के लिए छोटे int जैसे छोटे प्रकार की घटना? मैंने अभी तक थोड़ा सा मास्क के रूप में एक छोटा सा int उपयोग नहीं किया है, लेकिन कोई मुद्दा नहीं होना चाहिए। int काम महान है। –
छोटे मास्क के लिए छोटे प्रकार भी एक अच्छा विचार है। –
जब हम हैं, उदाहरण के लिए, 100 झंडे जब हम varbinary का उपयोग कैसे कर सकते हैं? क्या varbinary int या bigint के रूप में लचीला के रूप में इस्तेमाल किया जा सकता है? दो varbinary पर bitwise ऑपरेशन करना संभव नहीं है। हम अंतर-ध्वज व्यवहार की नकल कैसे कर सकते हैं? – aldebaran