c++ - Algorithm to convert double to long double -
यदि दोहरे एक 64 बिट आईईईई -754 प्रकार और
लंबी दोहरी या तो 80 या 128 बिट आईईईई -754 प्रकार है, रूपांतरण को करने के लिए हार्डवेयर (या कंपाइलर?) द्वारा एल्गोरिथ्म का प्रयोग किया जाता है:
डबल डी = 3.14159 ; लंबे डबल एलडी = (लंबी दोहरी) डी; इसके अलावा, यह आश्चर्यजनक होगा अगर कोई एल्गोरिदम के लिए एक स्रोत की सूची बना सकता है, क्योंकि मुझे कोई भाग्य नहीं मिल रहा है।
3.1415 9 जैसे सामान्य संख्या के लिए, प्रक्रिया निम्नानुसार है:
संख्या को हस्ताक्षर में अलग करें, पक्षपातपूर्ण प्रतिपादक, और महत्व और एक्सपोनेंट में लंबे डबल और डबल (0x3fff - 0x3ff) के लिए एक्सपोनेंट पक्षपात में अंतर जोड़ते हैं। हस्ताक्षर, नए प्रतिपादक, और महत्व को इकट्ठा करें (इंटेल 80-बिट प्रारूप में अग्रणी बिट को स्पष्ट करने के लिए याद रखना) व्यवहार में, इंटेल 80-बिट प्रारूप के साथ सामान्य हार्डवेयर पर, एक "रूपांतरण" एक्स 7 स्टैक (एफएलडी) के लिए सिर्फ एक लोड निर्देश है बिना किसी हार्डवेयर समर्थन के प्लेटफॉर्म को लक्षित करते समय, वास्तविक प्रतिनिधित्व विवरण के साथ ही शायद ही कभी एक अनियमितता की आवश्यकता होती है।
Comments
Post a Comment