के साथ सी ++ में डबल से चार * कनवर्ट करना मेरे एप्लिकेशन को केवल एक अक्षर को स्वीकार करने वाली पाइप को लिखने के लिए डबल मान को चार * में परिवर्तित करने की आवश्यकता है। ऐसा करने का सामान्य तरीकों sprintf() समारोह का उपयोग कर या iomanip.h हेडर फाइल से ostringstream उपयोग कर रहे हैं।उच्च प्रदर्शन
बाहर निकलता है, इनमें से दोनों वास्तव में खराब प्रदर्शन करते हैं। और मेरे आवेदन को इस रूपांतरण को इतनी बार करने की ज़रूरत है कि यह प्राथमिक बाधा बन जाए।
क्या कोई अन्य कार्य है जिसका मैं उपयोग कर सकता हूं? एक कुशल रूपांतरण समारोह लिखने के लिए मैं किस तर्क का उपयोग कर सकता हूं? एकमात्र चीज जिसे मैंने अभी तक पूरा करने में कामयाब रहा है वह है कि प्रत्येक व्यक्तिगत अंक को डिवीजन और मॉड ऑपरेशंस का उपयोग करके बाहर निकालना है, और इन अंकों को पूरे डबल मान प्राप्त करने के लिए char * में जोड़ना है। हालांकि यह एक अच्छा दृष्टिकोण की तरह प्रतीत नहीं होता है, और संभवतः खराब प्रदर्शन होगा।
आपके विचारों के लिए अग्रिम धन्यवाद।
संपादित करें: वहाँ कैसे चार * उपयोग किया जाएगा पर कुछ भ्रम की स्थिति है। Char * fwrite फ़ंक्शन के लिए एक तर्क होगा जो एक पाइप को लिखता है।
"पाइप केवल वर्णों को स्वीकार करता है" से आपका क्या मतलब है? क्या आप बाइट्स भेज/लिख सकते हैं? क्या प्रारूप जिसमें डेटा इस पाइप मामले में जाता है (क्या इसे मानव पठनीय होने की आवश्यकता है), या आप इसे दूसरी तरफ वापस परिवर्तित करते हैं? – dbrank0
इसे पढ़ें: http://stackoverflow.com/questions/3173056/why-does-dtoa-c-contain-so-much-code – nhahtdh
क्यों एक int को बिटकास्ट नहीं है और हेक्स में एन्कोड करें और उसे भेजें (फिर उस पर दूसरी तरफ वापस कनवर्ट करें) –