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

C में फ्लोट/डबल नंबरों का मॉड्युलस (शेषफल)


फ्लोटिंग-पॉइंट नंबरों के लिए मॉड्युलो ऑपरेशन % ऑपरेटर से नहीं किया जा सकता (केवल इंटीजर्स के लिए)। <math.h> से remainder, fmod, या fmodl उपयोग करें।

फंक्शन्स तुलना

फंक्शनविवरणराउंडिंग मोड
fmod(x, y)x - n*y जहां n = trunc(x/y)शून्य की ओर
remainder(x, y)x - n*y जहां n = nearest integer to x/yनिकटतम इंटीजर (ties to even)
remquo(x, y, *quo)remainder + लो-बिट्स ऑफ कोशिएंटनिकटतम इंटीजर

उदाहरण

#include <stdio.h>
#include <math.h>

int main() {
    double x = 14.5, y = 4.1;
    
    printf("fmod(%.1f, %.1f) = %.4f\n", x, y, fmod(x, y));
    printf("remainder(%.1f, %.1f) = %.4f\n", x, y, remainder(x, y));
    
    x = -34.5; y = 4.0;
    printf("fmod(%.1f, %.1f) = %.4f\n", x, y, fmod(x, y));
    printf("remainder(%.1f, %.1f) = %.4f\n", x, y, remainder(x, y));
    
    // शून्य से विभाजन
    x = 65.23; y = 0;
    printf("remainder(%.2f, 0) = %f\n", x, remainder(x, y));  // NaN
    
    return 0;
}

आउटपुट

fmod(14.5, 4.1) = 2.2000
remainder(14.5, 4.1) = -1.9000
fmod(-34.5, 4.0) = -2.5000
remainder(-34.5, 4.0) = 1.5000
remainder(65.23, 0) = -nan

व्याख्या

  • fmod: चिह्न x का अनुसरण करता है। 14.5 - 3*4.1 = 2.2।
  • remainder: परिणाम का चिह्न ऐसा होता है कि परिमाण न्यूनतम हो। 14.5 - 4*4.1 = -1.9 (|-1.9| < |2.2|)।
  • शून्य से विभाजन: NaN रिटर्न करता है, FE_INVALID उठा सकता है।

फ्लोट/लॉन्ग डबल वेरिएंट्स

float fmodf(float x, float y);
long double fmodl(long double x, long double y);
float remainderf(float x, float y);
long double remainderl(long double x, long double y);
  1. - C प्रोग्राम: किसी ऑपरेटर का उपयोग किए बिना दो संख्याओं का योग ज्ञात करना

    इस सेक्शन में हम देखेंगे कि अपने प्रोग्राम में किसी भी प्रकार के ऑपरेटर का उपयोग किए बिना दो संख्याओं का योग कैसे प्रिंट करें। यह समस्या ट्रिकी है। इस समस्या को हल करने के लिए हम printf() स्टेटमेंट के न्यूनतम चौड़ाई फील्ड का उपयोग कर रहे हैं। उदाहरण के लिए यदि हम printf() का उपयोग करके Hello से पह

  1. - C# का उपयोग करके दो बाइनरी संख्याओं का योग कैसे ढूंढें

    दो बाइनरी संख्याओं का योग ढूंढने के लिए, पहले उन्हें सेट करें। val1 = 11110; val2 = 11100; अब displaySum() विधि को कॉल करें, जिसे योग प्रदर्शित करने के लिए बनाया गया है। sum = displaySum(val1, val2); हमने बाइनरी संख्या के प्रत्येक बिट को प्रदर्शित करने के लिए विधि में एक नई सरणी सेट की है। long[] s

  1. - C# का उपयोग करके दो बाइनरी संख्याओं का गुणनफल कैसे ढूंढें

    दो बाइनरी संख्याओं का गुणनफल ढूंढने के लिए, पहले उन्हें सेट करें। val1 = 11100; val2 = 10001; Console.WriteLine(Binary one: + val1); Console.WriteLine(Binary two: + val2); अब गुणनफल प्राप्त करने के लिए लूप करें। while (val2 != 0) { digit = val2 % 10; if (digit == 1) { val1 = val1