बूलियन फ्लैग: Difference between revisions

From Vigyanwiki
m (Deepak moved page बूलियन झंडा to बूलियन फ्लैग without leaving a redirect)
No edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{multiple issues|
{{see|फ़्लैग (कंप्यूटिंग)}}
{{Refimprove|date=April 2021}}
[[कंप्यूटर विज्ञान]] में '''बूलियन फ्लैग''', '''ट्रूथ बिट''' या '''ट्रूथ फ्लैग''' एक ऐसा [[बूलियन मान]] है जिसे या अधिक बिट्स के रूप में दर्शाया जाता है, जो दो संभावित मानों के साथ अवस्था चर को एन्कोड करता है।
{{original research|date=January 2018}}
}}
{{see|Flag (computing)}}
[[कंप्यूटर विज्ञान]] में एक बूलियन ध्वज, सत्य बिट या सत्य ध्वज एक [[बूलियन मान]] है जिसे एक या अधिक बिट्स के रूप में दर्शाया जाता है, जो दो संभावित मानों के साथ एक राज्य चर को एन्कोड करता है।


==मेमोरी उपयोग==
==मेमोरी उपयोग==
एक एकल [[बाइट]] में प्रत्येक बिट पर एक बूलियन ध्वज को मैप करके 8 अलग-अलग बूलियन झंडे शामिल हो सकते हैं, जिससे यह डेटा भंडारण का एक बहुत ही किफायती और सघन तरीका बन जाता है। इसे पैक्ड प्रतिनिधित्व या बिट-पैकिंग के रूप में जाना जाता है, और प्रति बाइट केवल एक बूलियन ध्वज के साथ विपरीत एन्कोडिंग को विरल प्रतिनिधित्व के रूप में जाना जाता है। [[ बाइट संबोधन ]] | बाइट-एड्रेसेबल मेमोरी के लिए पैक किए गए प्रतिनिधित्व को प्रत्येक बाइट में अलग-अलग झंडे तक पहुंचने के लिए [[बिट मास्क]] और [[बिट-शिफ्ट]] की आवश्यकता होती है, जिसके लिए अतिरिक्त निर्देशों की आवश्यकता हो सकती है, जबकि विरल प्रतिनिधित्व के लिए बिट मास्किंग की आवश्यकता नहीं होती है। पैक्ड अभ्यावेदन आमतौर पर हार्डवेयर और [[प्रोसेसर रजिस्टर]] में [[बिट फ़ील्ड]] के रूप में पाए जाते हैं<ref name="The Linux Kernel documentation">{{cite web | title=सामान्य बिटफ़ील्ड पैकिंग और अनपैकिंग फ़ंक्शन| website=The Linux Kernel documentation | url=https://www.kernel.org/doc/html/latest/core-api/packing.html | access-date=2021-04-10}}</ref> जबकि विरल निरूपण आमतौर पर सॉफ्टवेयर में एक या अधिक बाइट्स की चौड़ाई वाले वेरिएबल (कंप्यूटर विज्ञान) के रूप में पाए जाते हैं, हालांकि पैक्ड अभ्यावेदन का भी समर्थन किया जा सकता है।<ref name="cppreference.com 2021">{{cite web | title=std::vector | website=cppreference.com | date=2021-03-09 | url=https://en.cppreference.com/w/cpp/container/vector_bool | access-date=2021-04-10}}</ref>
इस प्रकार से एक एकल [[बाइट]] में प्रत्येक बिट पर बूलियन फ्लैग को प्रतिचित्रित करके 8 अलग-अलग बूलियन फ्लैग सम्मिलित हो सकते हैं, जिससे यह डेटा भंडारण की बहुत ही मितव्ययी और संहत विधि बन जाती है। अतः इसे पैक्ड प्रतिरूपण या बिट-पैकिंग के रूप में जाना जाता है, और प्रति बाइट मात्र बूलियन फ्लैग के साथ विपरीत एन्कोडिंग को विरल प्रतिरूपण के रूप में जाना जाता है। [[ बाइट संबोधन |बाइट-एड्रेसेबल]] मेमोरी के लिए पैक किए गए प्रतिरूपण को प्रत्येक बाइट में अलग-अलग फ्लैग तक पहुंचने के लिए [[बिट मास्क]] और [[बिट-शिफ्ट]] की पूर्ण रूप से आवश्यकता होती है, जिसके लिए अतिरिक्त निर्देशों की आवश्यकता हो सकती है, जबकि विरल प्रतिरूपण के लिए बिट मास्किंग की आवश्यकता नहीं होती है। इस प्रकार से पैक्ड प्रतिरूपण सामान्यतः हार्डवेयर और [[प्रोसेसर रजिस्टर]] में [[बिट फ़ील्ड|बिट क्षेत्र]] के रूप में पाए जाते हैं,<ref name="The Linux Kernel documentation">{{cite web | title=सामान्य बिटफ़ील्ड पैकिंग और अनपैकिंग फ़ंक्शन| website=The Linux Kernel documentation | url=https://www.kernel.org/doc/html/latest/core-api/packing.html | access-date=2021-04-10}}</ref> जबकि विरल प्रतिरूपण सामान्यतः सॉफ्टवेयर में या अधिक बाइट्स की चौड़ाई वाले चर (कंप्यूटर विज्ञान) के रूप में पाए जाते हैं, यद्यपि पैक्ड प्रतिरूपण का भी सपोर्ट किया जा सकता है।<ref name="cppreference.com 2021">{{cite web | title=std::vector | website=cppreference.com | date=2021-03-09 | url=https://en.cppreference.com/w/cpp/container/vector_bool | access-date=2021-04-10}}</ref>
 
 
==दक्षता==
==दक्षता==
अधिकांश [[कंप्यूटर भाषा]]एं सत्य संकेतक के रूप में उपयोग के लिए संयोजन में एकल या एकाधिक बिट्स की सेटिंग और परीक्षण का समर्थन करती हैं और आमतौर पर [[बिटवाइज़ ऑपरेशन]] का उपयोग करके एक बाइट पर केवल एक निर्देश के साथ स्थितियों के 256 विभिन्न संयोजनों का परीक्षण किया जा सकता है। [[ प्रोसेसर डिज़ाइन ]] और [[समानांतर कंप्यूटिंग]] में प्रगति का मतलब है कि बूलियन झंडे पर और भी अधिक [[बूलियन बीजगणित]] संचालन [[SIMD]] तकनीक का उपयोग करके केवल एक निर्देश के साथ किया जा सकता है, जिसे अक्सर प्रोग्रामिंग भाषाओं में आंतरिक फ़ंक्शन के रूप में लागू किया जाता है।<ref>{{cite web | title=इंटेल इंट्रिनिक्स गाइड| website=Intel Developer Zone | url=https://software.intel.com/sites/landingpage/IntrinsicsGuide/ | access-date=2021-04-10}}</ref>
अतः अधिकांश [[कंप्यूटर भाषा|कंप्यूटर लैंग्वेज]] ट्रूथ संकेतक के रूप में उपयोग के लिए संयोजन में एकल या एकाधिक बिट्स की सेटिंग और परीक्षण का सपोर्ट करती हैं और सामान्यतः [[बिटवाइज़ ऑपरेशन]] का उपयोग करके बाइट पर मात्र निर्देश के साथ स्थितियों के 256 विभिन्न संयोजनों का परीक्षण किया जा सकता है। इस प्रकार से [[ प्रोसेसर डिज़ाइन |प्रोसेसर डिज़ाइन]] और [[समानांतर कंप्यूटिंग]] में प्रगति का अर्थ है कि बूलियन फ्लैग पर और भी अधिक [[बूलियन बीजगणित]] संचालन [[SIMD|एसआईएमडी]] तकनीक का उपयोग करके मात्र निर्देश के साथ किया जा सकता है, जिसे प्रायः प्रोग्रामिंग लैंग्वेजों में आंतरिक फलन के रूप में लागू किया जाता है।<ref>{{cite web | title=इंटेल इंट्रिनिक्स गाइड| website=Intel Developer Zone | url=https://software.intel.com/sites/landingpage/IntrinsicsGuide/ | access-date=2021-04-10}}</ref>
 
 
==उपयोग==
==उपयोग==
कभी-कभी, कुछ शर्तों का पता चलने पर केवल फ़्लैग सेट करने के लिए प्रोग्राम लिखे जाते हैं, न कि एकाधिक नेस्टेड कंडिशनल (प्रोग्रामिंग) (उदा.) <code>if</code>s) जो काफी जटिल हो सकता है। जब सभी स्थितियों का परीक्षण कर लिया जाता है और सभी फ़्लैग उचित रूप से चालू या बंद कर दिए जाते हैं, तो [[सॉफ़्टवेयर परीक्षण]] शर्तों के विभिन्न संयोजनों पर शुरू हो सकता है - स्वयं चर के बजाय फ़्लैग के संदर्भ में। यह प्रसंस्करण को काफी सरल बना सकता है और मेमोरी में उनके बाइनरी अभ्यावेदन को मैप करके [[निर्णय तालिका]]ओं को लागू करने की अनुमति देता है।
अतः कभी-कभी, कुछ प्रतिबन्धों के ज्ञात होने पर मात्र फ़्लैग सेट करने के लिए प्रोग्राम लिखे जाते हैं, न कि एकाधिक नेस्टेड कंडिशनल (प्रोग्रामिंग) (उदाहरण के लिए <code>if</code>) होते हैं जो अत्यधिक जटिल हो सकते हैं। इस प्रकार से जब सभी स्थितियों का परीक्षण कर लिया जाता है और सभी फ़्लैग उचित रूप से प्रारम्भ या संवृत कर दिए जाते हैं, तो [[सॉफ़्टवेयर परीक्षण]] प्रतिबन्धों के विभिन्न संयोजनों पर प्रारम्भ हो सकता है - स्वयं चर के अतिरिक्त फ़्लैग के संदर्भ में है। अतः यह प्रसंस्करण को अत्यधिक सरल बना सकता है, और मेमोरी में उनके बाइनरी प्रतिरूपण को प्रतिचित्रित करके [[निर्णय तालिका|निर्णय सारणी]] को लागू करने की पूर्ण रूप से अनुमति देता है।


==यह भी देखें==
==यह भी देखें==
*[[बूलियन फ़ंक्शन]]
*[[बूलियन फ़ंक्शन|बूलियन फलन]]


==संदर्भ==
==संदर्भ==
{{Reflist}}
{{Reflist}}
[[Category: कंप्यूटर विज्ञान में तर्क]] [[Category: कंप्यूटर प्रोग्रामिंग]] [[Category: सशर्त निर्माण]]


[[Category: Machine Translated Page]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:Created On 25/07/2023]]
[[Category:Created On 25/07/2023]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Templates Vigyan Ready]]
[[Category:कंप्यूटर प्रोग्रामिंग]]
[[Category:कंप्यूटर विज्ञान में तर्क]]
[[Category:सशर्त निर्माण]]

Latest revision as of 11:24, 12 August 2023

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

मेमोरी उपयोग

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

दक्षता

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

उपयोग

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

यह भी देखें

संदर्भ

  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.