हाल ही में मैंने देखा कि कैसे एक कंपाइलर दो 32 बिट पूर्णांक संयुक्त करता है जो एक वर्ग के गुणों के मूल्य थे और उन्हें 64 बिट पूर्णांक के रूप में संग्रहीत किया गया था। मेरा सवाल अब है, यह क्यों किया जाता है? पूर्णांक संयोजन करते समय क्या फायदे हैं?आप दो 32 बिट पूर्णांक को 64 बिट पूर्णांक में क्यों जोड़ेंगे?
उदाहरण के लिएअगर हम था इसलिए बजाय एक वर्ग
class FooBar {
int x = 1;
int y = 100;
}
के निम्नलिखित गुण
i32 = 00000001
i32 = 01100100
हम पाते हैं:
i64 = 0000000101100100
आप उन्हें क्यों गठबंधन चाहते हैं?
मेरा अनुमान है कि रजिस्टर 64 बिट्स का उपयोग करता है। यह दो रजिस्टरों का उपयोग करने के बजाय दोनों स्टोर करने के लिए केवल एक रजिस्टर का उपयोग कर रहा है। –
क्यों नहीं? यदि मशीन 64 बिट पूर्णांक के साथ अधिक कुशलता से काम करती है तो यह एक जीत हो सकती है .. किसी भी मामले में; तुम क्यो फिकर करते हो? –
सीपीयू आमतौर पर प्रकार नहीं होते हैं। 'Int' की तरह कुछ आपके प्रोग्राम की एक संपत्ति है, न कि परिणामी मशीन कोड की। यह "संयोजन" को कॉल करने के लिए वास्तव में उचित नहीं है, क्योंकि पहले और बाद में पूरी तरह से अलग डोमेन के हिस्से हैं। –