बूलियन फ्लैग

From Vigyanwiki
Revision as of 10:20, 6 August 2023 by alpha>Aagman

कंप्यूटर विज्ञान में बूलियन फ्लैग, सत्य बिट या सत्य फ्लैग एक ऐसा बूलियन मान है जिसे या अधिक बिट्स के रूप में दर्शाया जाता है, जो दो संभावित मानों के साथ अवस्था चर को एन्कोड करता है।

मेमोरी उपयोग

एक एकल बाइट में प्रत्येक बिट पर बूलियन फ्लैग को मैप करके 8 अलग-अलग बूलियन फ्लैग सम्मिलित हो सकते हैं, जिससे यह डेटा भंडारण का बहुत ही मितव्ययी और संहत विधि बन जाती है। इसे पैक्ड प्रतिरूपण या बिट-पैकिंग के रूप में जाना जाता है, और प्रति बाइट मात्र बूलियन फ्लैग के साथ विपरीत एन्कोडिंग को विरल प्रतिरूपण के रूप में जाना जाता है। बाइट-एड्रेसेबल मेमोरी के लिए पैक किए गए प्रतिरूपण को प्रत्येक बाइट में अलग-अलग फ्लैग तक पहुंचने के लिए बिट मास्क और बिट-शिफ्ट की आवश्यकता होती है, जिसके लिए अतिरिक्त निर्देशों की आवश्यकता हो सकती है, जबकि विरल प्रतिरूपण के लिए बिट मास्किंग की आवश्यकता नहीं होती है। पैक्ड प्रतिरूपण सामान्यतः हार्डवेयर और प्रोसेसर रजिस्टर में बिट क्षेत्र के रूप में पाए जाते हैं,[1] जबकि विरल प्रतिरूपण सामान्यतः सॉफ्टवेयर में या अधिक बाइट्स की चौड़ाई वाले वेरिएबल (कंप्यूटर विज्ञान) के रूप में पाए जाते हैं, यद्यपि पैक्ड प्रतिरूपण का भी समर्थन किया जा सकता है।[2]

दक्षता

अधिकांश कंप्यूटर भाषाएं सत्य संकेतक के रूप में उपयोग के लिए संयोजन में एकल या एकाधिक बिट्स की सेटिंग और परीक्षण का समर्थन करती हैं और सामान्यतः बिटवाइज़ ऑपरेशन का उपयोग करके बाइट पर मात्र निर्देश के साथ स्थितियों के 256 विभिन्न संयोजनों का परीक्षण किया जा सकता है। प्रोसेसर डिज़ाइन और समानांतर कंप्यूटिंग में प्रगति का मतलब है कि बूलियन फ्लैग पर और भी अधिक बूलियन बीजगणित संचालन SIMD तकनीक का उपयोग करके मात्र निर्देश के साथ किया जा सकता है, जिसे अक्सर प्रोग्रामिंग भाषाओं में आंतरिक फ़ंक्शन के रूप में लागू किया जाता है।[3]

उपयोग

कभी-कभी, कुछ शर्तों का पता चलने पर मात्र फ़्लैग सेट करने के लिए प्रोग्राम लिखे जाते हैं, न कि एकाधिक नेस्टेड कंडिशनल (प्रोग्रामिंग) (उदा.) ifs) जो काफी जटिल हो सकता है। जब सभी स्थितियों का परीक्षण कर लिया जाता है और सभी फ़्लैग उचित रूप से चालू या बंद कर दिए जाते हैं, तो सॉफ़्टवेयर परीक्षण शर्तों के विभिन्न संयोजनों पर शुरू हो सकता है - स्वयं चर के बजाय फ़्लैग के संदर्भ में। यह प्रसंस्करण को काफी सरल बना सकता है और मेमोरी में उनके बाइनरी प्रतिरूपण को मैप करके निर्णय तालिकाओं को लागू करने की अनुमति देता है।

यह भी देखें

संदर्भ

  1. "सामान्य बिटफ़ील्ड पैकिंग और अनपैकिंग फ़ंक्शन". The Linux Kernel documentation. Retrieved 2021-04-10.
  2. "std::vector". cppreference.com. 2021-03-09. Retrieved 2021-04-10.
  3. "इंटेल इंट्रिनिक्स गाइड". Intel Developer Zone. Retrieved 2021-04-10.