के अलावा बेस के साथ ओस्ट्रीम का उपयोग करें मेरे पास बहुपद वर्ग है, और इसका प्राकृतिक प्रतिनिधित्व इसके गुणांक है। यदि एक गुणांक सेट किया गया है, तो यह द्विपदीय आधार के लिए 1, त्रिकोणीय आधार के लिए 1 या 2 इत्यादि। उदाहरण के लिए, एक द्विपक्षीय आधार पर, एक्स + 1 को 101 के रूप में दर्शाया गया है; और एक त्रिकोणीय आधार पर, 2 एक्स + 1 201 के रूप में दर्शाया गया है।8, 10 और 16
कक्षा operator<<
अधिभार प्रदान करती है। आंतरिक रूप से, वर्ग एक अभिन्न सरणी का उपयोग कर गुणांक का प्रतिनिधित्व करता है।
ostringstream oss;
for (size_t i=0; i<v.size(); i++)
oss << v[i];
समस्या मैं कर रहा हूँ मैं 8, 10 और 16 ios_base
std::oct
, के लिए std::dec
और std::hex
प्रदान करता है के अलावा अन्य ठिकानों के लिए ostream कॉन्फ़िगर करने के लिए पता नहीं कैसे है: तो मैं प्रदर्शन करने के लिए सक्षम होना चाहिए लोकप्रिय आधार, लेकिन मुझे नहीं लगता कि कम बार उपयोग किए जाने वाले अड्डों के लिए क्या उपयोग करना है। और C++ Reference on ios_base जैसे पृष्ठ चर्चा नहीं करते हैं कि क्या उपयोग करना है।
मैं 8, 10 और 16 के अलावा बेस के साथ ओस्ट्रीम का उपयोग कैसे करूं?
नहीं, अन्य अड्डों के लिए कोई समर्थन नहीं है। आपको इसे एक स्ट्रिंग और आउटपुट में कनवर्ट करना होगा। –
सुनिश्चित नहीं है कि यह मानक माध्यमों का उपयोग कर संभव है। Http://en.cppreference.com/w/cpp/io/manip/setbase पर देख रहे हैं - "शून्य के अलावा 8, 10, या 16 रीसेट बेसफील्ड के आधार पर मान, जो दशमलव आउटपुट और उपसर्ग-निर्भर इनपुट से मेल खाते हैं। " – jready
जब तक मुझे कुछ पता नहीं है, हाल ही में जोड़ा गया है, iostreams में 8, 10, और 16 के अलावा अड्डों के लिए कोई समर्थन नहीं है। आपको संख्याओं को तारों के रूप में पढ़ना होगा और उन्हें हाथ से डीकोड करना होगा। – zwol