"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या सभी वैरिएडिक फ़ंक्शंस 'फ़्लोट' तर्कों को 'दोगुना' करने के लिए बढ़ावा देते हैं?

क्या सभी वैरिएडिक फ़ंक्शंस 'फ़्लोट' तर्कों को 'दोगुना' करने के लिए बढ़ावा देते हैं?

2024-11-16 को प्रकाशित
ब्राउज़ करें:512

Do All Variadic Functions Promote `float` Arguments to `double`?

विभिन्न कार्यों में डबल करने के लिए फ्लोट तर्क का प्रचार

पिछली चर्चा में, यह नोट किया गया था कि printf() एक फ्लोट तर्क को बढ़ावा देता है इसे स्वीकार करने से पहले एक डबल। इससे सवाल उठता है: क्या सभी विविध कार्य इस प्रचार को निष्पादित करते हैं? फ़ंक्शंस को दोगुना करने के लिए प्रचारित किया जाता है।

मानक विशिष्टताएं

C99 (धारा 6.5.2.2): "जिन तर्कों में फ्लोट प्रकार होता है उन्हें डबल में पदोन्नत किया जाता है।"

    सी ( अनुभाग 5.2.2)
  • : "एक फ़्लोटिंग पॉइंट प्रकार... को पहले प्रचारित प्रकार में परिवर्तित किया जाता है कॉल करें। &&&]वैरिएडिक फ़ंक्शन रूपांतरणों पर cppreference
  • cppreference के लिए डिफ़ॉल्ट रूपांतरणों का सारांश प्रदान करता है C में विविध कार्य:
  • std::nullptr_t to void*
  • फ्लोट तर्कों को दोगुना करने के लिए
  • बूल, चार, लघु और गणनाओं के लिए पूर्णांक प्रचार

की उत्पत्ति प्रमोशन

संभावित कमियों के बावजूद, यह प्रमोशन K&R C मानक के साथ अनुकूलता के लिए C में पेश किया गया था। जैसा कि सी रेशनेल में कहा गया है:
  • "पिछले अभ्यास के साथ अनुकूलता के लिए, प्रोटोटाइप घोषणा के अभाव में K&R में वर्णित सभी तर्क प्रमोशन होते हैं, जिसमें फ्लोट को डबल करने के लिए हमेशा वांछनीय प्रमोशन नहीं होता है।"
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3