किम् किम् अस्ति? · bei.pm

अयं पाठः स्वयमेव OpenAI GPT-4o Mini द्वारा अनुवादितः अस्ति।

अस्मिन् विभागे दत्तपदं प्रतिपाद्यते लेखाः, यः फाइलरूपाणां च प्रतिविधानकौशलस्य विषये अस्ति।

अधुना तु यथास्ति:
बहवः प्रोग्रामिङ्गभाषाः सन्ति च बहवः जनाः यानां किञ्चित् वस्तूनि भिन्ननामाभिः जानन्ति - अथवा तु प्रथमतः वस्तूनां अस्तित्वं विषये न ज्ञाताः, यः कारणेन तेषां प्रोग्रामिङ्गभाषा तान् दूरभाषयति।

tl;dr:
मम लेखन C99 <stdint.h> इत्यस्मिन् सम्प्रदायस्य अनुसारं गत्वा अस्ति। यः एषा लेखनं ज्ञातुं शक्नोति, सः मम लेखनस्य सह सम्प्रदायस्य साक्षात्कृत्य निश्चितं सुखं अनुभविष्यति।

पूर्णांक

Integer साधारणतया सम्पूर्णाङ्काः (Ganz-Zahlen) इति उच्यन्ते, यानि दशमलवांशवर्जिताः सङ्ख्याः।

अत्र Integer डेटा प्रारूपेषु सामान्यतया निश्चितस्य सङ्ख्याप्रदेशस्य, यथा एकस्मिन् स्थिरीकरणे परिभाषिताः सन्ति। एषः अहं बिट् मध्ये दत्वा दर्शयामि - यः कारणः अस्ति, यः "बाइट्" इत्यस्मिन् तथा तस्मिनपि आधारिताः प्रकाराः (शब्दः, क्यूवर्ड्, ...) सामान्यतया प्लैटफॉर्मानुसृताः सन्ति।

अत एव Integer-प्रकारेषु प्राकृतिक सङ्ख्याः (ℕ, यानि, चिह्नवर्जितः - Unsigned) च सम्पूर्ण सङ्ख्याः (ℤ, यानि, चिह्नयुक्तः - Signed) इत्येव च भेदः अस्ति।
एषः जानकारी चिह्नस्य उपरि (u वा s) दर्श्यते।

अत्र चिह्नयुक्ताः सम्पूर्णाङ्काः या एकस्मिन् पूरकः रूपेण प्रस्तूयन्ते वा द्विस्मिन् पूरकः रूपेण प्रस्तूयन्ते।
यावत् अन्यथा न निर्दिष्टं, तावत् द्विस्मिन् पूरकः उपयुज्यते, यः आधुनिकसूचनाप्रणालीषु प्रायः प्रियः रूपः अस्ति।

अहं चिह्नवर्जितः सङ्ख्याः मम प्रलेखेषु uint इत्यस्मिन् निर्दिश्यामि, सह तस्मिन् ततः यथाक्रमं सटीकता बिट्स् मध्ये दर्श्यते।
चिह्नयुक्तः सङ्ख्याः मम प्रलेखेषु sint इत्यस्मिन् निर्दिश्यामि, यथाक्रमं सटीकता बिट्स् मध्ये दर्श्यते।

अहं "चार" इत्यस्मिन् चिह्नस्य प्रकारस्य उपयोजनं वर्जयामि, यः कारणः अस्ति यः चिह्नपंक्तयः सामान्यतया केवलं Integer-मूल्यपंक्तयः विशेषव्याख्यायाम् दर्शयन्ति।
एताः अतः uint(8)[] रूपेण प्रदर्शिताः सन्ति।

उदाहरणानि:

लेखनशैली C99 stdint.h-समतुल्य विवरण संख्यात्मक क्षेत्र
uint(16) uint16_t असंकेतित पूर्णांक, 16 बिट लम्बाई 0 - 65.535
sint(8) int8_t संकेतित पूर्णांक, 8 बिट लम्बाई, द्विघात पूरक -126 - 127
uint(24) uint32_t:24 असंकेतित पूर्णांक, 24 बिट लम्बाई 0 - 16.777.216

स्थिरकमा-मानाः

स्थिर-कोण संख्याएँ वे संख्याएँ हैं जो तर्कशील संख्याओं (Q) के क्षेत्र से हैं, जो एक कोण तथा पश्चात्-कोण स्थानों के साथ होती हैं।

स्थिर-कोण संख्याओं में - इसलिए नाम भी ऐसा है - कोण की स्थिति डेटा प्रकार द्वारा निश्चित रूप से निर्धारित होती है।
इससे इस डेटा प्रकार के लिए एक निश्चित संख्यात्मक क्षेत्र भी उत्पन्न होता है; गणितीय रूप से कहा जाए तो संख्यात्मक क्षेत्र सीमित होता है।

वास्तव में, यह डेटा प्रकार मुख्यतः उन प्लेटफार्मों पर उपयोग होता है जहाँ पर्याप्त तेज़ फ्लोटिंग-पॉइंट हार्डवेयर इकाई नहीं होती, क्योंकि स्थिर-कोण संख्याओं की गणना पूर्णांक इकाइयों द्वारा की जा सकती है।

इसके अतिरिक्त, यह डेटा प्रकार जैसे कि डेटा-बेस प्रबंधन प्रणाली द्वारा उपयोग होता है, जब स्थिर आवश्यकताओं को पूरा करना होता है।
यहाँ उदाहरण के लिए वित्तीय डेटा के स्थायी संग्रहण के सिस्टम का विचार करें; अधिकांश मुद्राएँ कोण के बाद 2 स्थानों तक सीमित होती हैं। (हालाँकि, इसके लिए स्थिर-कोण संख्याओं का उपयोग करना समझदारी नहीं है; बेहतर यह है कि इसके बजाय सीधे न्यूनतम मुद्रा इकाई को पूर्णांक के रूप में संग्रहीत किया जाए और शेष प्रस्तुति स्तर को छोड़ दिया जाए।)

पूर्णांक संकेतों के समान, मैं स्थिर-कोण संख्याओं में संख्या की पूर्व और पश्चात् कोण की समाधान देता हूँ:
ufixed(9,7) एक डेटा प्रकार को इंगित करता है, जो बिना संकेत के 9 बिट्स को कोण के पूर्व मान के लिए और 7 बिट्स को कोण के पश्चात् मान के लिए सुरक्षित रखता है; कुल मिलाकर यह 16 बिट चौड़ा है और इस प्रकार स्वतंत्र पूर्णांकों के दो वेक्टर के रूप में (0,0) से (511,127) तक के क्षेत्र को कवर कर सकता है।
हालांकि, इस व्याख्या में इसकी दशमलव प्रस्तुति में 28 संख्याएँ अनुपयोगी रूप से खो जाएँगी, क्योंकि व्यवहार में अधिकतम (511,99) तक सीमित रहने की संभावना है।

स्थिर-कोण मान को 2 अलग-अलग पूर्णांकों के वेक्टर के रूप में प्रत्यक्ष व्याख्या करने के बजाय - जो हमेशा दशमलव संख्याओं में रूपांतरण पर एक अनुपयोगी डेटा क्षेत्र और एक मैनुअल परिवहनो को दर्शाता है - इसके बजाय पश्चात्-कोण क्षेत्र को उनकी कुल समाधान के भिन्न के रूप में व्याख्या किया जा सकता है।
उदाहरण के लिए, हाल ही में उल्लिखित ufixed(9,7) से एक भिन्न का निर्माण होता है जिसका हर एक मान 27 है - संख्यात्मक क्षेत्र तब 0.00 से 511 + 126127 तक जाता है। दशमलव प्रस्तुति में परिवर्तन के लिए पश्चात्-कोण को 128 से विभाजित किया जाएगा।
इस रूप में गणनाएँ सरलता से की जा सकती हैं, क्योंकि परिवहन स्वचालित रूप से उत्पन्न होता है, जिससे यह रूप सामान्यतः पसंदीदा होता है।
हालांकि, इस रूप का यह नुकसान है कि दशमलव प्रस्तुति में पश्चात्-कोण अब कोई गारंटी वाली समाधान नहीं होती, एक एकल दशमलव अंक अब 0.01 के समकक्ष नहीं होता, बल्कि 0.007874 होता है, जो संबंधित गोलाई त्रुटियों का कारण बनेगा।

कौन सी व्याख्या विधि का उपयोग किया जाता है, इसे उपयोग स्थान पर प्रलेखित किया जाएगा।

तरलाङ्क वा गत्याङ्क मूल्याः

तरलाङ्कानि गणिते जटिलताम् अधिकं अभिव्यक्तयः अस्ति, यत्र एकं पूर्णाङ्कं स्थिरसमाधानेन गणितीयपदेन एषः व्यक्तः अस्ति, यत्र प्रभावेन दशमलव-भागः परिवर्तनम् द्वारा निर्मीयते - च एषः त्वरितं वैज्ञानिक-लेखनम् प्रति अभिमुखम् अस्ति।
यः सर्वसाधारणः मार्गः, एषः सम्पादितः अस्ति IEEE 754 मान्यतेन च अनन्तं अन्तर्राष्ट्रिय रूपेण प्रजñातः अस्ति।

एषः तरलाङ्कः सामान्यतः अनेन घटकाणां अस्ति:

चिन्हम् (0 अथवा 1) उपदंशः मण्टिसा

यदा चिन्हं द्विआधारीयः यः/नः-सूचनायाः सरलतया प्राप्यते, तर्हि अस्य वास्तविकसंख्यां निर्माणं समीकरणेन
मण्टिसा * 2उपदंशः इति क्रियते।

अतिरिक्तं अनेकानि निश्चितानि मानानि अस्ति, यानि विशेषः समानुपातिकसंख्याणां विशेषते प्राप्नुवन्ति - तेषां मध्ये ±∞NaN ("सत्यं नास्ति संख्या") च अस्ति।

तरलाङ्कानि विशेषतः उपयोगी सन्ति, यदा सत्यता अत्यन्तं महत्वपूर्णा न अस्ति, यतः एषां प्रकारेण सङ्केतानां च यथाऽस्मिन् जातं पूर्णता-त्रुटयः च तस्मिन् च सत्यतायाः हानिः प्राप्नोति। सामान्यतः तरलाङ्कानि उदाहरणतः निर्देशांकानां परिभाषायाम् उपयुज्यन्ते, यथा शीर्षक-वेक्तराणां 3D-आदर्शेषु वा Bézier-/Spline-लम्बैः दृश्यात्मकप्रस्तुति-उद्देशः।

दत्तानां प्रारूपेषु तरलाङ्कानि float(मण्टिसा, उपदंशः) इति निर्दिष्टानि सन्ति।
यदि IEEE 754 इत्यस्मिन् भिन्नं प्रारूपं उपयुज्यते, तर्हि एषः तदनुसारं निर्दिष्टः भविष्यति।