2012-05-30 8 views
6

मुझे पता है कि == समानता के लिए चुना गया था और = असाइनमेंट के लिए चुना गया था क्योंकि उन्होंने सोचा था कि लोगों ने समानता की जांच करने से अधिक असाइनमेंट किया था --- लेकिन निश्चित रूप से उन्होंने नहीं सोचा था कि बुलियन तर्क से थोड़ा अधिक झुकाव होगा?के एंड आर ने &&, || क्यों किया तार्किक और, | थोड़ा सा, दूसरी तरफ नहीं?

& और | लॉजिकल ऑपरेटर होने के साथ दूसरी तरफ क्यों नहीं जाते?

+7

पर जा सकती है आप "जानते हैं" कि '==' और '=' इस तरह से चुने गए थे? क्यूं कर? इसके लिए आपका स्रोत क्या है? क्या वह स्रोत '&&' बनाम '' 'के बारे में भी बात करता है? –

+0

मुझे लगता है कि यह समझदारी है कि '==',' && ',' || 'सभी तार्किक संबंधित हैं। लेकिन फिर हमारे पास '<', '>' बनाम '<<', '>>' है। – nhahtdh

+0

मुझे पता है मैंने इसे कहीं पढ़ा है - शायद एएनएसआई सी पुस्तक का प्रस्ताव? –

उत्तर

9

horse's mouth से:

रैपिड परिवर्तन के बाद भाषा नाम दिया गया था, उदाहरण के लिए && और || ऑपरेटरों की शुरूआत जारी रखा। बीसीपीएल और बी में, अभिव्यक्ति का मूल्यांकन संदर्भ पर निर्भर करता है: यदि और अन्य सशर्त बयानों में जो शून्य के साथ अभिव्यक्ति के मूल्य की तुलना करते हैं, तो ये भाषाएं और ( &) और ( |) ऑपरेटरों पर एक विशेष व्याख्या करती हैं। सामान्य संदर्भों में, वे बिटवाइज संचालित करते हैं, लेकिन बी कथन में

    if (e1 & e2) ... 
कंपाइलर को e1 का मूल्यांकन करना चाहिए और यदि यह शून्य नहीं है, तो e2 का मूल्यांकन करें, और यदि यह भी शून्य नहीं है, तो if पर निर्भर बयान विस्तृत करें। आवश्यकता & और | पर पुनरावृत्ति से उतरती है ऑपरेटर e1 और e2 के भीतर। ऐसे 'सत्य-मूल्य' संदर्भ में बूलियन ऑपरेटरों के शॉर्ट-सर्किट अर्थशास्त्र वांछनीय लगते थे, लेकिन ऑपरेटरों की ओवरलोडिंग को समझाना और उपयोग करना मुश्किल था। एलन स्नाइडर के सुझाव पर, मैंने तंत्र को और अधिक स्पष्ट बनाने के लिए && और || ऑपरेटरों की शुरुआत की।

याद रखें कि सी वैक्यूम में नहीं बनाया गया था; इसकी अधिकांश अजीबता बीसीपीएल और बी

+0

मैं इसे स्वीकार करूंगा, लेकिन @ कर्नाल्ड को वास्तव में पहले जवाब मिला। –

+0

@luxun, अगर आपको लगता है कि रिची का विवरण पर्याप्त है तो कृपया इसे स्वीकार करने के लिए स्वतंत्र महसूस करें। जॉन ने उद्धरण की प्रतिलिपि बनाने और प्रारूपित करने के लिए समय निकाला। :) – sarnold

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