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

C++ में फ्लोटिंग पॉइंट नंबर्स की प्रिसिजन (floor(), ceil(), trunc(), round() और setprecision())


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

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

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

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

floor()

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

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

लाइब्रेरी: 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()

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

round()

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

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

लाइब्रेरी: 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() 

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

कार्य करने के लिए, यह fixed का उपयोग करता है।

लाइब्रेरी: 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. C++ में डुडनी नंबर (Dudeney Numbers) C++ में डुडनी नंबर (Dudeney Numbers)

    संख्या सिद्धांत में परिभाषित एक गणितीय संख्या एक दी गई संख्या आधार में एक प्राकृतिक संख्या है जो दूसरी प्राकृतिक संख्या के पूर्ण घन के बराबर होती है जैसे कि पहली प्राकृतिक संख्या का अंक योग दूसरी संख्या के अंक योग के बराबर होता है (विकिपीडिया)। इस संख्या की खोज हेनरी डुडनी ने की थी। इसका गणितीय सू

  1. C++ में BST से फ्लोर और सीलिंग मान प्राप्त करना C++ में BST से फ्लोर और सीलिंग मान प्राप्त करना

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

  1. - C++ में सील (ceil) और फ्लोर (floor) फ़ंक्शंस

    ceil फ़ंक्शन दिए गए मान के बराबर या उससे बड़ा सबसे छोटा पूर्णांक मान लौटाता है। <cmath> हेडर में घोषित। सिंगल पैरामीटर लेता है (double/float/long double)। सिंटैक्स double ceil(double x); float ceil(float x); उदाहरण #include <iostream> #include <cmath> using namespace std; int m