2010-06-01 5 views
5

इस प्रश्न की अस्पष्ट प्रकृति के लिए माफ़ी, मैंने कभी औपचारिक रूप से प्रोग्रामिंग सिखाई नहीं है और Google इस मामले में मेरे जैसे स्वयं सहायता लड़के के लिए बेकार है क्योंकि मुख्य शब्द बहुत संदिग्ध हैं। एप्पल
-अद्वितीय विकल्पों की सूची को एन्कोड करने के लिए बेस-2 संख्याओं का उपयोग करने की तकनीक के लिए कोई नाम है?

1:

मैं कार्यों कि सांकेतिक शब्दों में बदलना और एक लंबे समय में विकल्पों की सूची को डिकोड ताकि वे आसानी से आवेदन के आसपास पारित किया जा सकता की एक जोड़ी लिख रहा हूँ, तुम बात इस तरह का पता 2 - ऑरेंज
4 - केले
8 - बेर
आदि

इस मामले संख्या 11 एप्पल, ऑरेंज & बेर का प्रतिनिधित्व करते हैं में।

मैं यह काम कर रहा गया है, लेकिन मैं यह सब समय तो मान तकनीक के लिए एक आम नाम है इस्तेमाल किया देखते हैं, और कोई संदेह नहीं है सबसे अच्छा अभ्यास और चालाक एल्गोरिदम के सभी प्रकार के उस पल में बस से बाहर मेरी पहुंच

संपादित करें: सभी को धन्यवाद, मुझे पता था कि इस सवाल का जवाब तेजी से आएगा :)

उत्तर

12

बिट झंडे। यह बिटमास्किंग के हिस्से के रूप में उपयोग की जाने वाली तकनीक है।

0001 - एप्पल
0010 - Oranage
0100 - केले
1000 - बेर

प्रत्येक 1 चिह्नित किये बिट है।

अब आप आसानी से उन नंबर का उपयोग कर बिटवाइज़ कार्रवाई कर सकते हैं:

if((11 & Apple) == Apple) // The Apple Flag is set 
{ 
    // Do Something 
} 
+0

@ मार्टिन - हाँ ... टिप्पणी देखने से पहले इसे पहले ही बदल दिया है। हालांकि अच्छा पकड़ो। –

+0

बिटवाई के आस-पास के माता-पिता का उपयोग करें और –

+0

क्या आपको प्राथमिकता गलत नहीं मिली है? (9 और ऑरेंज == ऑरेंज) सत्य का मूल्यांकन करता है, जहां यह गलत होना चाहिए। यह होना चाहिए ((9 और ऑरेंज) == ऑरेंज) जो FALSE –

1

C# Flags attribute मैं थोड़ा क्षेत्र के साथ जा सकते हैं या झंडे के संबंधित के

तरह स्थापित करने के लिए जा रहा हूँ के लिए मदद से जा रहा है, हार्डवेयर में भी है one-hot encoding हालांकि यह संकेत मिलता है आप झंडे के संयोजन नहीं मिलता

संबंधित मुद्दे