Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C, C++ और Java में फ़्लोटिंग पॉइंट ऑपरेशंस और संबद्धता

C, C++ और java में, हम फ्लोटिंग पॉइंट नंबरों के साथ कुछ गणितीय कार्य करते हैं। अब यहां हम जांच करेंगे कि फ्लोटिंग पॉइंट नंबर सहयोगीता नियम का पालन कर रहे हैं या नहीं।

जवाब न है। फ़्लोटिंग पॉइंट नंबर कुछ मामलों में सहयोगीता नियमों का पालन नहीं करते हैं। यहां हम कुछ उदाहरण देखेंगे।

उदाहरण कोड

#include<iostream>
using namespace std;
main() {
   float x = -500000000;
   float y = 500000000;
   float z = 1;
   cout << "x + (y + z) is: " << x + (y + z) << endl;
   cout << "(x + y) + z is "<< (x + y) + z << endl;
}

आउटपुट

x + (y + z) is: 0
(x + y) + z is 1

यहां, हम देख सकते हैं कि परिणाम समान नहीं हैं, लेकिन सैद्धांतिक रूप से हम कह सकते हैं कि वे हमेशा 1 होंगे। अब सवाल आता है कि यह कैसे किया जाता है?

पहले मामले में x + (y + z), (500000000 + 1) प्रदर्शन कर रहा है। लेकिन फ्लोटिंग पॉइंट ऑफ के लिए, इसे फिर से 500000000 में बदल दिया जाता है। अब इसके साथ -500000000 जोड़ने पर, यह 0 हो जाता है। दूसरी अभिव्यक्ति में, मान (-500000000 + 500000000) =0 है, फिर 1 जोड़ें ताकि अंतिम परिणाम 1 हो।

यदि हम पूर्णांकों का उपयोग करते हैं, तो दोनों व्यंजक एक ही परिणाम देंगे, जो कि 1 है।


  1. सी ++ ऑपरेटर वरीयता और सहयोगीता के साथ

    संचालिका पूर्वता एक व्यंजक में पदों के समूहन को निर्धारित करती है। एक ऑपरेटर की संबद्धता एक संपत्ति है जो यह निर्धारित करती है कि एक ही वरीयता के ऑपरेटरों को कोष्ठक की अनुपस्थिति में कैसे समूहीकृत किया जाता है। यह प्रभावित करता है कि अभिव्यक्ति का मूल्यांकन कैसे किया जाता है। कुछ ऑपरेटरों की प्राथमि

  1. जावा में इंटरमीडिएट और टर्मिनल ऑपरेशंस के बीच अंतर 8

    जावा 8 में स्ट्रीम पेश की गई है, इसका उपयोग केवल डेटा के समूह को संसाधित करने के लिए किया जाता है, न कि स्टोर करने वाले तत्वों के लिए। यह वास्तविक संग्रह को संशोधित नहीं करता है, वे केवल पाइपलाइन विधियों के अनुसार परिणाम प्रदान करते हैं। स्ट्रीम एपीआई कई संचालन का समर्थन करता है और संचालन को दो भाग

  1. पायथन में दशमलव निश्चित बिंदु और फ़्लोटिंग पॉइंट अंकगणित

    फ़्लोटिंग पॉइंट नंबरों को स्मृति में आधार 2 बाइनरी अंश के रूप में दर्शाया जाता है। परिणामस्वरूप फ्लोटिंग पॉइंट अंकगणितीय ऑपरेशन कई बार अजीब हो सकते हैं। 0.1 और 0.2 का जोड़ निम्न प्रकार से कष्टप्रद परिणाम दे सकता है - >>> 0.1 + 0.2 0.30000000000000004 वास्तव में यह बाइनरी फ्लोटिंग पॉइंट प्र