2010-07-18 14 views
7

के साथ बिटमैस्क के लिए नाम सी और एम्बेडेड में, अक्सर एक बार समेकित स्थिरांक का उपयोग करता है जहां प्रत्येक मान बिल्कुल 1-बिट सेट के साथ थोड़ा मुखौटा होता है। (उदाहरण के लिए 0x0001, 0x0002, 0x0004, आदि) क्या इस प्रकार के बिटमास्क के लिए मानक नाम है? मैंने उन्हें झंडे के रूप में संदर्भित किया है, लेकिन एक मानक परिभाषा के रूप में गुजरने में अधिक। मुझे पता है कि यह snobbish लगता है, लेकिन "झंडे" वास्तव में पर्याप्त तकनीकी प्रतीत नहीं होता है? क्या किसी और के पास इनके लिए अच्छा नाम है? मैं कल्पना नहीं कर सकता कि कोई भी एक के साथ नहीं आया है।1-बिट सेट

+1

झंडा मेरे लिए पर्याप्त उचित लगता है - "दो की शक्ति" वास्तव में ज्यादा व्याख्या नहीं करती है, ध्वज कम से कम बेहतर है। –

+0

@ विल ए - दरअसल, यह मेरा मुख्य बिंदु है। यदि आप दो की शक्तियों का उपयोग कर रहे हैं, तो आपके "झंडे" पूरी तरह से स्वतंत्र हैं। आप या तो, और नहीं कर सकते हैं और किसी भी अन्य को बदले बिना रुचि रखने वाले एक या दो को बदल सकते हैं। – ktrimbach

उत्तर

10

"ध्वज" स्वीकार्य शब्द है। "ध्वज को पास करें", "इस ध्वज को सेट करें", आदि

+0

ध्वज के लिए विकिपीडिया प्रविष्टि यह कहती है: ध्वज एक * या अधिक * बिट्स को संदर्भित करता है जिनका उपयोग बाइनरी मान * या कोड * को संग्रहीत करने के लिए किया जाता है। यही कारण है कि मैं कुछ कम सामान्य चाहता हूँ। – ktrimbach

+2

आप हमेशा जो चाहते हैं उसे प्राप्त नहीं कर सकते हैं। इस सुविधा के लिए "ध्वज" मानक शब्द है। –

+0

@ktrimbach, ध्वज शब्द के लिए विकिपीडिया प्रविष्टि इंगित करता है कि नाम दृढ़ता से एक ही झंडे के लिए एक बिट की सीधी मैपिंग का तात्पर्य है। और मैंने कई बिट्स को इंगित करने के लिए इस्तेमाल शब्द को कभी नहीं सुना है। – MSN

2

.NET ढांचे में Flags विशेषता है जिसका उपयोग आप जिस व्यवहार का वर्णन कर रहे हैं उसे इंगित करने के लिए उपयोग किया जाता है।

वे बिल्कुल जो भी चाहते हैं उसके लिए नाम नहीं बनाते हैं, इसलिए ध्वज शायद सबसे स्वीकार्य शब्द है।

+0

यह एक अच्छा संदर्भ है। .NET enums के लिए FlagAttribute को परिभाषित करता है और एमएसडीएन इस तरह का वर्णन करता है। मुझे यकीन नहीं है कि ToString() को कई enums को एक साथ जोड़ने की अनुमति देने के अलावा यह कितना अच्छा है, लेकिन यह चित्रकारी है। – ktrimbach

2

मैंने "बिट झंडे" भी देखा है।

+0

मुझे एक डॉ डॉब्स लेख मिला है जो "बिट फ्लैग एन्युमेरेशंस" का उल्लेख करता है। यह एक बिट ('स्क्यूज पन) है जो मैं सोच रहा हूं उसके करीब है। http://www.drdobbs.com/184403893 – ktrimbach

5

दशकों से इनके लिए "ध्वज" का उपयोग किया जाता है और यह ठीक है।

http://en.wikipedia.org/wiki/Flag_(computing%29

http://en.wikipedia.org/wiki/Status_register

मैं बिल्कुल पता नहीं है जब इस शब्द गढ़ा गया था और किसके द्वारा: मेरा पुराना C64 पहले से ही एक शून्य झंडा, झंडा ले जाने आदि यहां अधिक जानकारी के लिए देखें था।

+0

विकिपीडिया लिंक विशेष रूप से स्थिति रजिस्टरों और ध्वज शब्दों के बारे में बात करता है। ये हार्डवेयर बिट झंडे हैं। शायद यह कहां से आया था, लेकिन मैं कुछ और ढूंढ रहा हूं। – ktrimbach

+0

@ktrimbach: पहला लिंक (मैंने अपनी पोस्ट संपादित की है, इसलिए यह अब काम करती है) यह भी कहती है: 'अन्य मामलों में, बाइनरी मान थोड़ा सा क्षेत्र में एक या अधिक विशेषताओं का प्रतिनिधित्व कर सकते हैं, अक्सर क्षमताओं या अनुमतियों से संबंधित होते हैं, जैसे कि "को लिखा जा सकता है" या "हटाया जा सकता है"। ' – Secure

1

गणित में, एक सिंगलटन सेट बिल्कुल एक तत्व के साथ एक सेट है, इसलिए आप उन्हें एक सिंगलटन बिटसेट या सिंगलटन बिटमैस्क कह सकते हैं, लेकिन मैंने इसे अभ्यास में नहीं देखा है।

+0

गलत सवाल का जवाब? – Joshua

+0

@ जोशुआ, सुनिश्चित नहीं है कि आप किस चीज का जिक्र कर रहे हैं। – ergosys

+0

मान में एक बिट सेट नहीं है, संयुक्त मानों की सूची प्रत्येक में एक बिट सेट है। – Joshua