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

C++ (floor(), ceil(), trunc(), Round() और setprecision()) में फ्लोटिंग पॉइंट नंबरों की शुद्धता

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

उदाहरण के लिए 10/6 =1.6666666… इनमें आवर्ती दशमलव होते हैं जो संग्रहीत करने के लिए अनंत मेमोरी स्पेस ले सकते हैं।

तो ऐसे मामलों में मेमोरी ओवरफ्लो से बचने के लिए कंपाइलर ने संख्या के लिए एक सटीक सीमा निर्धारित की है। C++ में फ़्लोट मानों के लिए यह सटीकता 6-7 अंकों पर सेट की जाती है, उसके बाद यदि दशमलव की पुनरावृत्ति होती है तो यह मान को छोड़ देगा।

इसलिए, जब यह त्याग होता है तो किसी भी बड़े नुकसान से बचने के लिए ऐसे तरीके और पुस्तकालय हैं जो सटीकता का समर्थन करते हैं जो फ्लोट वैल्यू हैं। यहां, हम उनकी चर्चा करेंगे,

फर्श ()

फ़्लोर () फ़ंक्शन राउंड डाउन फ़ंक्शन है जो संख्या को निकटतम पूर्णांक मानों तक गोल करता है जो संख्या से कम है।

यह हमेशा एक पूर्णांक मान देता है जो फ्लोट संख्या के पूर्णांक भाग से एक कम होता है।

पुस्तकालय:math.h

उदाहरण

#include<iostream>
#include<math.h>
using namespace std;
int main() {
   float number1 = 0.435 , number2 = 234.2342, number3 = -3.31132, number4 = -0.432;
   cout<<"Values are : \n";
   cout<<"Number 1 : "<<floor(number1)<<endl;
   cout<<"Number 2 : "<<floor(number2)<<endl;
   cout<<"Number 3 : "<<floor(number3)<<endl;
   cout<<"Number 4 : "<<floor(number4)<<endl;
   return 0;
}

आउटपुट

Values are :
Number 1 : 0
Number 2 : 234
Number 3 : -4
Number 4 : -1

सील ()

ceil() फ़ंक्शन राउंडिंग फ़ंक्शन है जो संख्या को निकटतम पूर्णांक मानों तक गोल करता है जो संख्या से अधिक होता है।

यह हमेशा एक पूर्णांक मान देता है जो फ्लोट संख्या के पूर्णांक भाग से एक अधिक होता है।

पुस्तकालय:math.h

उदाहरण

#include<iostream>
#include<math.h>
using namespace std;
int main() {
   float number1 = 0.435 , number2 = 234.2342, number3 = -3.31132, number4 = -0.432;
   cout<<"Values are : \n";
   cout<<"Number 1 : "<<ceil(number1)<<endl;
   cout<<"Number 2 : "<<ceil(number2)<<endl;
   cout<<"Number 3 : "<<ceil(number3)<<endl;
   cout<<"Number 4 : "<<ceil(number4)<<endl;
   return 0;
}

आउटपुट

Values are :
Number 1 : 1
Number 2 : 235
Number 3 : -3
Number 4 : -0

दौर ()

राउंड () फ़ंक्शन राउंडिंग फ़ंक्शन है जो संख्या को निकटतम पूर्णांक मानों तक गोल करता है जो संख्या से बड़ा या छोटा हो सकता है।

यह हमेशा एक पूर्णांक मान देता है जो फ्लोट संख्या के पूर्णांक भाग से एक अधिक/कम हो सकता है।

पुस्तकालय:math.h

उदाहरण

#include<iostream>
#include<math.h>
using namespace std;
int main() {
   float number1 = 0.435 , number2 = 234.5612, number3 = -3.31132, number4 = -0.9132;
   cout<<"Values are : \n";
   cout<<"Number 1 : "<<ceil(number1)<<endl;
   cout<<"Number 2 : "<<ceil(number2)<<endl;
   cout<<"Number 3 : "<<ceil(number3)<<endl;
   cout<<"Number 4 : "<<ceil(number4)<<endl;
   return 0;
}

आउटपुट

Values are :
Number 1 : 1
Number 2 : 235
Number 3 : -3
Number 4 : -0

सेटप्रेसिजन()

setprecision() फ़ंक्शन फ्लोट का मान देता है जो n दशमलव स्थानों तक सही है। N सेटप्रेसिजन फ़ंक्शन को दिया गया पैरामीटर है।

कामकाज के लिए, यह निश्चित का उपयोग करता है।

पुस्तकालय: iomanip

उदाहरण

#include<iostream>
#include<iomanip>
using namespace std;
int main() {
   float number1 = 0.435 , number2 = 234.5612, number3 = -3.31132, number4 = -0.9132;
   cout<<"Nubmer 1 correct upto 0 decimals "<<fixed<<setprecision(0)<<number1<<endl;
   cout<<"Nubmer 2 correct upto 1 decimals "<<fixed<<setprecision(1)<<number2<<endl;
   cout<<"Nubmer 3 correct upto 4 decimals "<<fixed<<setprecision(4)<<number3<<endl;
   cout<<"Nubmer 4 correct upto 3 decimals "<<fixed<<setprecision(3)<<number4<<endl;
}

आउटपुट

Nubmer 1 correct upto 0 decimals 0
Nubmer 2 correct upto 1 decimals 234.6
Nubmer 3 correct upto 4 decimals -3.3113
Nubmer 4 correct upto 3 decimals -0.913

  1. सी++ में डुडेनी नंबर्स

    संख्या सिद्धांत में परिभाषित एक गणितीय संख्या (विकिपीडिया)। नंबर हेनरी डुडेनी . द्वारा खोजा गया था . इसका गणितीय सूत्र है - यहाँ, हमें एक पूर्णांक n दिया गया है। हमारा काम जांच करना है कि दिया गया नंबर n एक डुडनी नंबर है या नहीं। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट: एन =17592 आ

  1. C++ . में BST से तल और छत

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

  1. सी ++ में छत और फर्श कार्य

    सील फंक्शन सील फ़ंक्शन सबसे छोटा संभव पूर्णांक मान देता है जो मान के बराबर या उससे अधिक होता है। यह फ़ंक्शन C++ भाषा में cmath हेडर फ़ाइल में घोषित किया गया है। यह सिंगल वैल्यू लेता है जिसकी सील वैल्यू की गणना की जानी है। वैरिएबल का डेटाटाइप डबल/फ्लोट/लॉन्ग डबल ही होना चाहिए। यहाँ C++ भाषा में cei