Avatar ·

64-बिट सिस्टम पर Rust में 128-बिट पूर्णांक i128 और u128 कैसे काम करते हैं?

सभी को नमस्कार! मैंने Rust सीखना शुरू किया और एक दिलचस्प बात पर ध्यान दिया: भाषा में बिल्ट-इन 128-बिट पूर्णांक (`i128` और `u128`) हैं। मेरे पास 64-बिट प्रोसेसर (AMD Ryzen) है, और मुझे समझ नहीं आता कि प्रोसेसर, जो 64-बिट रजिस्टरों पर काम करता है, 128-बिट संख्याओं के साथ हार्डवेयर स्तर पर कैसे काम कर सकता है? क्या इसके लिए CPU पर विशेष समर्थन की आवश्यकता नहीं है? मैंने एक सरल कोड लिखा: ```rust fn main() { let a: i128 = 170141183460469231731687303715884105727; let b: i128 = 1; let c = a + b; println!("परिणाम: {}", c); } ``` कोड काम करता है, लेकिन मैं समझना चाहता हूँ: 1. कंपाइलर ऐसे ऑपरेशनों को कैसे संभालता है? क्या वह उन्हें कई 64-बिट निर्देशों के माध्यम से एमुलेट करता है? 2. क्या `i64` की तुलना में प्रदर्शन में कोई हानि है? 3. `i128` का उपयोग कब समझ में आता है, और कब `i64` से काम चलाना बेहतर है? मैं असेंबली कोड या आंतरिक संरचना के उदाहरणों के साथ विस्तृत स्पष्टीकरण के लिए आभारी रहूंगा। <<>>

Rust 64-बिट आर्किटेक्चर पर 128-बिट संख्याओं को कैसे संभालता है