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

क्या जावास्क्रिप्ट में 'फ्लोटिंग-पॉइंट अंकगणित' 100% सटीक है?


अस्थायी-बिंदु अंकगणित जावास्क्रिप्ट में हमेशा 100% सटीक नहीं होता है। मान लीजिए 1/3 यानी 0.33333... यहां मान 0.333... एक अज्ञात बिंदु पर गोल होगा। इसलिए यदि हम इसे किसी अन्य मान के साथ जोड़ते हैं, जिसका मान भी दशमलव है, तो हमें इच्छित परिणाम नहीं मिलेगा। इसलिए हम यह निष्कर्ष निकाल सकते हैं कि जब दो दशमलव जोड़े गए तो गोल करने की त्रुटियां . होंगी , लेकिन सौभाग्य से, वे त्रुटियां काफी छोटी हैं जिससे वास्तविक कोड परिणाम प्रभावित नहीं होंगे।

निम्नलिखित उदाहरण में, जब 0.3 के साथ 0.3 जोड़ा जाता है, तो परिणाम 0.9 होना चाहिए, लेकिन चूंकि राउंडिंग त्रुटियां हैं परिणामी मूल्य वांछित मूल्य नहीं है जैसा कि आउटपुट में दिखाया गया है।

उदाहरण

<html>
<body>
   <p id="F-P-A"></p>
   <script>
      var err = 0.3 + 0.6;
         document.getElementById("F-P-A").innerHTML = "0.3 + 0.6 = " + err;
   </script>
</body>
</html>

आउटपुट

0.3 + 0.6 = 0.8999999999999999


निम्नलिखित उदाहरण में, जब 0.2 और 0.1 को जोड़ा गया था, तो वांछित परिणाम 0.3 है, लेकिन राउंडिन . के कारण जी त्रुटि , इच्छित मान परिणामी मान नहीं है।

उदाहरण

<html>
<body>
   <p id="F-P-A"></p>
   <script>
      var err = 0.2 + 0.1;
      document.getElementById("F-P-A").innerHTML = "0.2 + 0.1 = " + err;
   </script>
</body>
</html>

आउटपुट

0.2 + 0.1 = 0.30000000000000004

  1. जावास्क्रिप्ट रैंडम

    Math.random() फ़ंक्शन का उपयोग 0 और 1 के बीच एक यादृच्छिक फ़्लोटिंग-पॉइंट संख्या उत्पन्न करने के लिए किया जाता है। Math.random() फ़ंक्शन के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="

  1. जावास्क्रिप्ट वादे

    जावास्क्रिप्ट में वादे हमें अतुल्यकालिक संचालन करने की अनुमति देते हैं जहां मूल्य उन्नत में ज्ञात नहीं होता है जब वादा बनाया जा रहा था। एक वादे में तीन राज्य लंबित, पूरे और अस्वीकृत हो सकते हैं। जावास्क्रिप्ट में वादों के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en&q

  1. जावास्क्रिप्ट कमजोर सेट

    जावास्क्रिप्ट वीकसेट का उपयोग वस्तुओं के संग्रह को संग्रहीत करने के लिए किया जाता है। सेट की तरह यह डुप्लीकेट स्टोर नहीं करता है। वीकसेट के तरीके - विधि विवरण जोड़ें(obj) कमजोर सेट में नया मान जोड़ें। हटाएं(obj) कमजोरसेट से मान हटाता है। है(obj) कमजोरसेट ऑब्जेक्ट में मान है या नहीं, इसके आध