ट्रैक
/
Cairo
Cairo
/
सिलेबस
/
पूर्णांक
पू

पूर्णांक में Cairo

1 अभ्यास

पूर्णांक के बारे में

integer एक ऐसी संख्या है जिसमें दशमलव वाला कोई भाग नहीं होता। Cairo में पूर्णांक के टाइप की घोषणा यह बताती है कि प्रोग्रामर उस वैल्यू को संग्रहीत करने के लिए कितने बिट्स इस्तेमाल कर सकता है।

अनसाइंड पूर्णांक सिर्फ धनात्मक संख्याएँ और संख्या 0 (शून्य) दर्शा सकते हैं, जो कुछ खास प्रोग्रामिंग स्थितियों में फायदेमंद होता है, जैसे ऐरे की इंडेक्सिंग और मेमोरी प्रबंधन।

Cairo साइंड पूर्णांक का भी समर्थन करता है, जिनका नाम i उपसर्ग से शुरू होता है। ये पूर्णांक धनात्मक और ऋणात्मक, दोनों तरह की वैल्यू दर्शा सकते हैं, और इनके आकार i8 से i128 तक होते हैं। हर साइंड रूप $-2^{n-1}$ से $2^{n-1} - 1$ तक की संख्याएँ संग्रहीत कर सकता है, जहाँ $n$ उस रूप में इस्तेमाल होने वाले बिट्स की संख्या है। उदाहरण के लिए, एक i8 $-2^7$ से $2^7 - 1$ तक की संख्याएँ संग्रहीत कर सकता है, यानी $-128$ से $127$ तक।

लंबाई अनसाइंड साइंड
8-बिट u8 i8
16-बिट u16 i16
32-बिट u32 i32
64-बिट u64 i64
128-बिट u128 i128
256-बिट u256 ------

एक खास पूर्णांक टाइप भी है जिसे usize कहते हैं, और फिलहाल यह सिर्फ u32 का उपनाम है। आगे चलकर, जब Cairo को MLIR (मल्टी-लेवल इंटरमीडिएट रिप्रेजेंटेशन) में कंपाइल किया जा सकेगा, तब यह टाइप शायद और अलग भूमिका निभाएगा।

Cairo में पूर्णांक लिटरल

आप पूर्णांक लिटरल नीचे दी गई तालिका में दिखाए गए किसी भी रूप में लिख सकते हैं। ध्यान दीजिए कि जो संख्या लिटरल एक से ज़्यादा न्यूमेरिक टाइप के हो सकते हैं, उनमें टाइप बताने के लिए 57_u8 जैसा टाइप सफिक्स लगाया जा सकता है। कोड की पठनीयता बढ़ाने के लिए संख्या लिटरल में _ जैसा दिखने वाला सेपरेटर भी इस्तेमाल किया जा सकता है।

संख्या लिटरल उदाहरण
दशमलव 98222
हेक्स 0xff
ऑक्टल 0o04321
बाइनरी 0b01

तो आपको कैसे पता चलेगा कि कौन-सा पूर्णांक टाइप इस्तेमाल करना है? अंदाज़ा लगाइए कि आपके पूर्णांक की अधिकतम वैल्यू कितनी हो सकती है, और उसी के हिसाब से उचित आकार चुनिए। usize इस्तेमाल करने की मुख्य स्थिति तब होती है जब आप किसी संग्रह को इंडेक्स कर रहे हों।

संख्यात्मक संक्रियाएँ

Cairo सभी पूर्णांक टाइप के लिए वे आधारभूत गणितीय संक्रियाएँ देता है जिनकी आप उम्मीद करेंगे: जोड़, घटाव, गुणा, भाग और शेष। पूर्णांक का भाग करने पर नतीजा शून्य की ओर निकटतम पूर्णांक तक काट दिया जाता है। नीचे दिया गया कोड दिखाता है कि let स्टेटमेंट में हर संख्यात्मक संक्रिया कैसे इस्तेमाल की जाती है:

fn main() {
    // addition
    let sum = 5_u128 + 10_u128;

    // subtraction
    let difference = 95_u128 - 4_u128;

    // multiplication
    let product = 4_u128 * 30_u128;

    // division
    let quotient = 56_u128 / 32_u128; // result is 1
    let quotient = 64_u128 / 32_u128; // result is 2

    // remainder
    let remainder = 43_u128 % 5_u128; // result is 3
}

इन स्टेटमेंट में हर एक्सप्रेशन एक गणितीय ऑपरेटर इस्तेमाल करता है और एक ही वैल्यू निकालता है, जिसे फिर एक वेरिएबल को असाइन कर दिया जाता है।

Cairo जो सारे ऑपरेटर देता है, उनकी सूची The Cairo Book में मिलती है।

GitHub के ज़रिए संपादित करें यह लिंक नई विंडो या टैब में खुलता है।

पूर्णांक सीखिए

अभ्यास लॉक है

पूर्णांक पर अभ्यास करने के लिए 2 और अभ्यास अनलॉक कीजिए