केबल 0 मॉडेम. सॅटेलाइट रिसीव्हरसाठी शून्य मोडेम केबल. शून्य मोडेम कसा बनवायचा

मदत करा 16.03.2019
चेरचर
  डेटा प्रकार हे मूल्यांच्या श्रेणीचे वर्णन आहे जे निर्दिष्ट प्रकाराचे व्हेरिएबल घेऊ शकते. प्रत्येक डेटा प्रकार द्वारे वैशिष्ट्यीकृत आहे:
   1. व्यापलेल्या बाइट्सची संख्या (आकार)
   2. मूल्यांची श्रेणी जी या प्रकारच्या व्हेरिएबल घेऊ शकते.

सर्व डेटा प्रकार खालील प्रकारांमध्ये विभागले जाऊ शकतात:
   1. साधे (स्केलर) आणि जटिल (वेक्टर) प्रकार;
   2. मूलभूत (सिस्टम) आणि वापरकर्ता (वापरकर्त्याद्वारे परिभाषित).
  एसआय भाषेत, मूलभूत प्रकारांची प्रणाली चार डेटा प्रकारांद्वारे तयार केली जाते:
   1. प्रतीकात्मक,
   2. पूर्णांक,
   3. एकल अचूकता वास्तविक,
   4. दुहेरी अचूकता वास्तविक.

SI भाषेत डेटा प्रकारांचे तपशीलवार वर्णन

प्रकार वर्ण प्रकार पूर्णांक प्रकार एकल अचूक वास्तविक प्रकार दुहेरी सुस्पष्टता वास्तविक प्रकार
वर्णन चार int फ्लोट दुप्पट
आकार 1 बाइट (8 बिट) 4 बाइट (32 बिट) 4 बाइट (32 बिट)
23 बिट - मँटिसा;
8 बिट - ऑर्डर;
1 बिट - चिन्ह.
8 बाइट (64 बिट)
52 बिट - मँटिसा;
11 बिट्स - ऑर्डर;
1 बिट - चिन्ह.
मूल्यांची श्रेणी -128 ... 127 2147483648 ... 2147483647 ±3.4E±38
7 दशांश स्थानांपर्यंत अचूकता
±1.7E±308
17 दशांश स्थानांपर्यंत अचूकता

एसआय भाषा दोन प्रकारचे डेटा प्रकार सुधारक प्रदान करते:
   1. साइन मॉडिफायर: स्वाक्षरी केलेले आणि स्वाक्षरी केलेले नाही.
   2. आकार सुधारक: लहान आणि लांब.
  प्रकार सुधारकांचे सारणीमध्ये अधिक तपशीलवार वर्णन केले आहे:

SI मध्ये जटिल संख्या

  कॉम्प्लेक्स क्रमांक C99 मानकांमध्ये सादर केले गेले.
   फ्लोट_कॉम्प्लेक्स
   डबल_कॉम्प्लेक्स
   लांब डबल_कॉम्प्लेक्स
  हा सगळा आनंद लायब्ररीत असण्याचा आहे कॉम्प्लेक्स.एच :)

किमान आणि कमाल मूल्ये SI भाषेचे सर्व मूलभूत डेटा प्रकार लायब्ररीमध्ये वर्णन केले आहेत: limits.h – मध्ये पूर्णांक मूल्यांच्या श्रेणी आहेत, float.h – मध्ये वास्तविक मूल्यांच्या श्रेणी आहेत.

SI मध्ये बुलियन डेटा प्रकार

  मानक C89:

   बुलियन प्रकार - int
    0 - खोटे;
    0 नाही - खरे. म्हणजे, जसे बुलियन प्रकारतयार केले जात नाही, परंतु त्याऐवजी int वापरले जाते.
  मानक C99:
   बुलियन प्रकार - _बूल
  कीवर्ड: bool true false
आणि वाचनालयात हा आनंद आहे stdbool.h

घोषणा ऑपरेटर

  व्हेरिएबल - मेमरीचे नाव दिलेले क्षेत्र संगणक, मूल्ये साठवण्यासाठी डिझाइन केलेले विशिष्ट प्रकार, यादृच्छिक प्रवेश पद्धतीसह: वाचा आणि लिहा. व्हेरिएबल नाव एक कायदेशीर SI ओळखकर्ता आहे जो पूर्वी इतर व्हेरिएबल्स, प्रकार, गणन सदस्य किंवा फंक्शन नावे नियुक्त करण्यासाठी वापरला जात नव्हता. व्हेरिएबल डिक्लेरेशन ऑपरेटरमध्ये खालील वाक्यरचना आहे: type name1[,name2[,...]]; उदाहरणे:
  int a, b, c;
  दुहेरी x, y;
  char ch;
  काही न बोललेले नियम आहेत, म्हणजेच अंमलबजावणी चांगली आहे, परंतु हे करणे आवश्यक नाही:
   1. नवीन प्रकारच्या व्हेरिएबल्सची प्रत्येक घोषणा नवीन ओळीवर सुरू होते;
   2. व्हेरिएबलच्या नावावरून हे स्पष्ट झाले पाहिजे की ते का आहे आणि त्यात काय संग्रहित केले जाईल (जरी कधीकधी अशा माहितीपूर्ण नावांमुळे कोड लिहिण्याचा वेग कमी होतो, कारण काही लोक गोंधळतात आणि व्हेरिएबलला संपूर्ण वाक्य म्हणतात);
   3. म्हणून, नियम दिसून येतो: व्हेरिएबलचे नाव खूप मोठे नसावे;
   4. व्हेरिएबल घोषित केल्यानंतर, ते कशासाठी आहे ते टिप्पण्यांमध्ये सूचित करणे खूप उचित आहे;
   5. व्हेरिएबलची नावे स्पेससह विभक्त करणे आवश्यक आहे.
  इनिशिएलायझेशनसह व्हेरिएबल डिक्लेरेशन ऑपरेटरमध्ये खालील वाक्यरचना आहे: प्रकार name1[=value1][, name2[=value2][,...]]; उदाहरणे:
  int a=26, b=032, c=0x1A;
  दुहेरी x=2.5e2,y=0x1.ffe-3;
  char ch = 'Z';

SI मध्ये स्थिरांक

  एसआय भाषेत तीन प्रकारचे स्थिरांक आहेत:
   1. पूर्णांक,
   २. वास्तविक,
   3. प्रतीकात्मक.
  पूर्णांक स्थिरांक
   1. दशांश स्थिरांक दर्शविला आहे दशांशनेहमीच्या स्वरूपात.
   2. अंक शून्यापासून सुरू होणाऱ्या आणि 0...7 अंक असलेल्या संख्येद्वारे ऑक्टल स्थिरांक दर्शविला जातो.
   3. हेक्साडेसिमल स्थिरांक 0x किंवा 0X उपसर्ग असलेल्या पूर्णांकाने दर्शविला जातो, ज्यामध्ये 0...9 अंक आणि लॅटिन वर्णमाला a...f, A...F अक्षरे असतात.
  वास्तविक स्थिरांक दशांश किंवा दशांश मध्ये लिहिलेले आहेत हेक्साडेसिमल प्रणालीकॅल्क्युलस स्वल्पविरामाची स्थिती बिंदूद्वारे दर्शविली जाते, घातांक लॅटिन अक्षर e (किंवा E) नंतर दर्शविला जातो. अक्षर स्थिरांक\ वर्णाच्या आधी, हे तथाकथित "एस्केपिंग" आहे. एसआय भाषेत विशेष वर्ण आहेत:
   '\' - एकल कोट,
   '\"' - दुहेरी कोट,
   '\\' - बॅकस्लॅश,
   '\?' - प्रश्नचिन्ह,
   '\ a' - ध्वनी सिग्नल,
   '\b' - एक वर्ण हटवणे,
   '\f' - पृष्ठ स्क्रोलिंग,
   '\n' - लाइन फीड,
   '\r' - ओळीच्या सुरूवातीस कॅरेज परत,
   '\t' - क्षैतिज टॅब,
   '\v' - अनुलंब टॅब.

SI मध्ये, तुम्ही व्हेरिएबल्स देखील तयार करू शकता ज्यांचे मूल्य स्थिर आहे (त्यांचे मूल्य बदलले जाऊ शकत नाही). अशा "व्हेरिएबल्स" च्या घोषणेमध्ये खालील वाक्यरचना असते: const type name1=value1[,name2=value2[,...]]; उदाहरणे:
   const unsigned int x=80, y=25;
   const double pi=3.1415;

SI मध्ये डेटा प्रकार तयार करण्यासाठी ऑपरेटर

  टाईपडेफ ऑपरेटर तयार करण्यासाठी वापरला जातो सानुकूल प्रकारडेटा, त्याच्या वापरासाठी वाक्यरचना: typedef old_type_name new_type_name; उदाहरण:
   typedef स्वाक्षरी नसलेला int शब्द;
  SI मध्ये, मानकानुसार, प्रकारची व्याख्या प्रोग्राममध्ये जवळजवळ कोठेही केली जाऊ शकते (म्हणजे डेटा प्रकार परिभाषित करण्यासाठी कोणतेही कठोरपणे परिभाषित ब्लॉक नाही). , ते मेमरीमध्ये व्यापलेल्या बाइट्सची संख्या परत करते. उदाहरण:
   sizeof(int) //परतावा 4
   आकार (चार) // निकाल १
   sizeof(दुप्पट) // परतावा 8

प्रोग्रामिंगमध्ये, डेटा प्रकार हा दोन संचांचा संग्रह आहे: मूल्यांचा संच आणि त्यांच्यावर लागू केल्या जाऊ शकणाऱ्या ऑपरेशन्सचा संच. उदाहरणार्थ, बेरीज (+), गुणाकार (*), पूर्णांक भागाकार (/), शेष (%) आणि वजाबाकी (−) या नैसर्गिक संख्यांचा मर्यादित संच असलेल्या गैर-ऋणात्मक पूर्णांक डेटा प्रकारावर लागू केल्या जाऊ शकतात.

प्रोग्रामिंग भाषेचा सहसा एक संच असतो आदिम प्रकारडेटा - प्रोग्रामिंग भाषेद्वारे मूलभूत अंगभूत युनिट म्हणून प्रदान केलेले प्रकार. C++ मध्ये, भाषेचा निर्माता अशा प्रकारांना मूलभूत प्रकार म्हणतो. C++ मधील मूलभूत प्रकार आहेत:

  • बुलियन (बूल);
  • वर्ण (उदा. चार);
  • int (उदा. int);
  • फ्लोटिंग पॉइंट (उदा. फ्लोट);
  • गणना (प्रोग्रामरद्वारे परिभाषित);
  • शून्य

सूचीबद्ध केलेल्या शीर्षस्थानी, खालील प्रकार तयार केले आहेत:

  • प्रात्यक्षिक (उदा. int*);
  • ॲरे (उदा. चार);
  • संदर्भ (उदा. दुहेरी&);
  • इतर संरचना.

चला शाब्दिक संकल्पनेकडे जाऊया (उदाहरणार्थ, 1, 2.4F, 25e-4, 'a', इ.): शाब्दिक - रेकॉर्ड मध्ये स्रोत कोडएक निश्चित मूल्य दर्शविणारा कार्यक्रम. दुसऱ्या शब्दांत, शाब्दिक म्हणजे प्रोग्राम कोडमधील काही प्रकारच्या ऑब्जेक्टचे (मूल्य) प्रतिनिधित्व. C++ मध्ये पूर्णांक, फ्लोटिंग पॉइंट, वर्ण, बुलियन आणि स्ट्रिंग व्हॅल्यू लिहिण्याची क्षमता आहे.

पूर्णांक प्रकार शाब्दिक म्हणून लिहिला जाऊ शकतो:

  • 10वी संख्या प्रणाली. उदाहरणार्थ, 1205;
  • 0 + क्रमांकाच्या स्वरूपात 8 वी संख्या प्रणाली. उदाहरणार्थ, 0142;
  • 0x + क्रमांकाच्या स्वरूपात 16 वी क्रमांक प्रणाली. उदाहरणार्थ, 0x2F.

24, 030, 0x18 - या सर्व एकाच क्रमांकाच्या एंट्री आहेत विविध प्रणालीहिशेब.
फ्लोटिंग पॉइंट क्रमांक लिहिण्यासाठी, डॉट नोटेशन वापरा: 0.1, .5, 4. - एकतर मध्ये
घातांक अंकन - 25e-100. अशा नोंदीमध्ये कोणतीही जागा नसावी.

ज्या नावाशी आपण अक्षरांमध्ये लिहिलेली मूल्ये जोडू शकतो त्याला व्हेरिएबल म्हणतात. व्हेरिएबल हे मेमरीचे नामांकित किंवा अन्यथा पत्ता करण्यायोग्य क्षेत्र आहे ज्याचा पत्ता डेटामध्ये प्रवेश करण्यासाठी वापरला जाऊ शकतो. प्रोग्रामच्या अंमलबजावणीदरम्यान हा डेटा एका विशिष्ट प्रकारे मेमरीमध्ये लिहिला जातो, पुन्हा लिहिला जातो आणि मिटविला जातो. व्हेरिएबल तुम्हाला कधीही डेटा ऍक्सेस करण्याची परवानगी देतो आणि आवश्यक असल्यास, तो बदलू शकतो. व्हेरिएबलच्या नावावरून जो डेटा मिळवता येतो त्याला व्हेरिएबलचे मूल्य म्हणतात.
प्रोग्राममध्ये व्हेरिएबल वापरण्यासाठी, ते घोषित करणे आवश्यक आहे आणि आवश्यक असल्यास, ते परिभाषित केले जाऊ शकते (= आरंभिक). प्रोग्राम मजकूरातील व्हेरिएबलच्या घोषणेमध्ये 2 भाग असणे आवश्यक आहे: मूलभूत प्रकारआणि घोषणाकर्ता. स्पेसिफायर आणि इनिशिएलायझर हे पर्यायी भाग आहेत:

const int उदाहरण = 3; // येथे const एक निर्दिष्टकर्ता आहे // int हा बेस प्रकार आहे // उदाहरण हे व्हेरिएबलचे नाव आहे // = 3 - इनिशिएलायझर.

व्हेरिएबल नाव हा अक्षरांचा समावेश असलेला वर्णांचा क्रम आहे लॅटिन वर्णमाला(लोअरकेस आणि अपरकेस), संख्या आणि/किंवा अंडरस्कोअर, परंतु पहिले वर्ण संख्या असू शकत नाही. व्हेरिएबलचे नाव निवडले पाहिजे जेणेकरून ते काय संग्रहित करते याचा अंदाज लावणे नेहमीच सोपे असते, उदाहरणार्थ, “महिना पेमेंट”. नोट्समध्ये आणि व्यवहारात, व्हेरिएबल्स रेकॉर्ड करण्याच्या नियमांसाठी आम्ही कॅमलकेस नोटेशन वापरू. व्हेरिएबलचे नाव भाषेतील आरक्षित शब्दांशी एकरूप होऊ शकत नाही अशा शब्दांची उदाहरणे आहेत: if, while, function, goto, switch, इ.

व्हेरिएबल नावाव्यतिरिक्त, घोषणाकर्त्यामध्ये असू शकते अतिरिक्त वर्ण:

  • * - सूचक; नावापूर्वी;
  • *const - स्थिर सूचक; नावापूर्वी;
  • & - दुवा; नावापूर्वी;
  • - ॲरे; नावानंतर;
  • () - कार्य; नाव नंतर.

इनिशिएलायझर तुम्हाला व्हेरिएबलच्या घोषणेनंतर लगेच मूल्य परिभाषित करण्याची परवानगी देतो. इनिशिएलायझरची सुरुवात समानता शाब्दिक (=) ने होते आणि नंतर व्हेरिएबलचे मूल्य सेट करण्यासाठी पुढे जाते. सर्वसाधारणपणे, C++ मधील समान चिन्ह असाइनमेंट ऑपरेशन दर्शवते; त्याच्या मदतीने तुम्ही व्हेरिएबलचे मूल्य सेट आणि बदलू शकता. साठी विविध प्रकारते वेगळे असू शकते.

विनिर्देशक प्रकाराव्यतिरिक्त अतिरिक्त गुणधर्म निर्दिष्ट करतो. उदाहरणात दिलेला कॉन्स्ट स्पेसिफायर तुम्हाला व्हेरिएबलच्या व्हॅल्यूमध्ये नंतरचे बदल प्रतिबंधित करण्यास अनुमती देतो. अशा अपरिवर्तनीय चलांना स्थिर किंवा स्थिर म्हणतात.

प्रारंभ न करता स्थिरता घोषित करणे तार्किक कारणांसाठी कार्य करणार नाही:

कॉन्स्ट इंट EMPTY_CONST; // त्रुटी, स्थिर व्हेरिएबल प्रारंभ केलेले नाही const int EXAMPLE = 2; // मूल्य 2 सह स्थिरांक EXAMPLE = 3; // त्रुटी, स्थिर व्हेरिएबलला मूल्य नियुक्त करण्याचा प्रयत्न करा

स्थिरांकांचे नामकरण करताना, फक्त वापरण्याची प्रथा आहे कॅपिटल अक्षरे, अंडरस्कोरसह शब्द वेगळे करणे.

C++ मधील मूलभूत डेटा प्रकार

प्रत्येक प्रकाराचे परीक्षण करताना, वाचकाने डेटा प्रकाराची व्याख्या विसरू नये.

1. पूर्णांक प्रकार (char, short (int), int, long (int), long long)

नावावरून हे समजणे सोपे आहे की मूल्यांच्या संचामध्ये पूर्णांक असतात. तसेच, प्रत्येक सूचीबद्ध प्रकारांच्या मूल्यांचा संच स्वाक्षरी किंवा स्वाक्षरी केलेला असू शकतो. संचामध्ये समाविष्ट असलेल्या घटकांची संख्या त्या प्रकारचे मूल्य संचयित करण्यासाठी वापरल्या जाणाऱ्या मेमरीच्या आकारावर अवलंबून असते. उदाहरणार्थ, व्हेरिएबलसाठी चार टाइप करामेमरीचा 1 बाइट वाटप केला आहे, त्यामुळे एकूण घटक असतील:

  • 2 8N = 2 8 * 1 = 256, जेथे मूल्य संचयित करण्यासाठी N हा बाइट्समधील मेमरीचा आकार आहे

या प्रकरणात, उपलब्ध पूर्णांकांच्या श्रेणी खालीलप्रमाणे आहेत:

  • - स्वाक्षरी नसलेल्या चारसाठी
  • [-१२८..१२७] - स्वाक्षरी केलेल्या चारसाठी

डीफॉल्टनुसार, पूर्णांक व्हेरिएबल साइन केलेले मानले जाते. कोडमध्ये दर्शविण्यासाठी व्हेरिएबलची स्वाक्षरी न केलेली असणे आवश्यक आहे, डावीकडील बेस प्रकारात एक स्वाक्षरी केलेली विशेषता जोडली आहे, उदा. स्वाक्षरी न केलेले:

स्वाक्षरी न केलेले लांब मूल्ये; // पूर्णांक (लांब) स्वाक्षरी न केलेला प्रकार निर्दिष्ट करते.

सूचीबद्ध प्रकार फक्त स्टोरेजसाठी आवश्यक असलेल्या मेमरीच्या आकारात भिन्न आहेत. C++ भाषा मशीनवर अवलंबून असल्याने, भाषा मानक फक्त खालील अटींची हमी देते:

  • 1 = चार आकार ≤ लहान आकार ≤ int आकार ≤ लांब आकार.

सामान्यतः प्रकारांचे आकार खालीलप्रमाणे असतात: char - 1, short - 2, int - 4, long -8, long long - 8 bytes.

तुम्ही पूर्णांक प्रकाराच्या मूल्यांसह अंकगणित ऑपरेशन्स करू शकता: +, -, *, /, %; तुलना ऑपरेशन्स: ==, !=,<=, <, >, >=; बिट ऑपरेशन्स: &, |, xor,<<, >>.
बहुतेक ऑपरेशन्स, जसे की बेरीज, गुणाकार, वजाबाकी आणि तुलना, समजून घेणे सोपे आहे. कधी कधी केल्यावर अंकगणित ऑपरेशन्स, परिणाम मूल्यांच्या श्रेणीबाहेर असू शकतो; या प्रकरणात प्रोग्राम त्रुटी निर्माण करेल.
पूर्णांक भागाकार (/) एका पूर्णांकाचा भाग दुसऱ्या पूर्णांकाचा भाग शोधतो. उदाहरणार्थ:

  • 6 / 4 = 1;
  • 2 / 5 = 0;
  • 8 / 2 = 4.

टक्केवारीचे चिन्ह (%) दोन पूर्णांकांच्या भागाचे उर्वरित भाग निर्धारित करण्याच्या ऑपरेशनला सूचित करते:

  • 6 % 4 = 2;
  • 10 % 3 = 1.

ऑपरेशन्स bitwise आहेत समजून घेणे अधिक कठीण आहे: & (AND), | (OR), xor (अनन्य OR),<< (थोडा शिफ्टडावीकडे), >> (बिटवाइज उजवीकडे शिफ्ट).

बिट ऑपरेशन्स AND, OR आणि XOR माहितीच्या प्रत्येक बिटवर संबंधित लॉजिकल ऑपरेशन लागू करतात:

  • 1 10 = 01 2
  • 3 10 = 11 2
  • 1 10 & 3 10 = 01 2 & 11 2 = 01 2
  • 1 10 | 3 10 = 01 2 | 11 2 = 11 2
  • 1 10 xor 3 10 = 01 2 xor 11 2 = 10 2

प्रतिमा प्रक्रियेत, रंगासाठी 3 चॅनेल वापरले जातात: लाल, निळा आणि हिरवा - तसेच पारदर्शकता, जी व्हेरिएबलमध्ये संग्रहित केली जाते. int टाइप करा, कारण प्रत्येक चॅनेलमध्ये 0 ते 255 मूल्यांची श्रेणी असते. हेक्साडेसिमल क्रमांक प्रणालीमध्ये, एक विशिष्ट मूल्य लिहिले जाते खालीलप्रमाणे: 0x180013FF; नंतर मूल्य 18 16 लाल चॅनेलशी संबंधित आहे, 00 16 - निळा, 13 16 - हिरवा, FF - अल्फा चॅनेल (पारदर्शकता). अशा पूर्णांकातून विशिष्ट चॅनेल निवडण्यासाठी, तथाकथित चॅनेल वापरला जातो. मुखवटा, जेथे आमच्यासाठी स्वारस्य असलेल्या पोझिशन्स F 16 किंवा 1 2 आहेत. म्हणजेच, ब्लू चॅनेलचे मूल्य हायलाइट करण्यासाठी, आपण मास्क वापरणे आवश्यक आहे, म्हणजे. bitwise आणि:

इंट ब्लू_चॅनेल = 0x180013FF & 0x00FF0000;

त्यानंतर परिणामी मूल्य आवश्यक संख्येने बिट्सद्वारे उजवीकडे हलविले जाते.

बिट शिफ्ट ऑपरेशनच्या उजव्या बाजूला निर्दिष्ट केल्याप्रमाणे अनेक बायनरी अंकांनी डावीकडे किंवा उजवीकडे बदलते. उदाहरणार्थ, बायनरीमध्ये चार टाइपसाठी 39 क्रमांक असे लिहिले आहे खालील फॉर्म: 00100111. नंतर:

चार बायनरी उदाहरण = 39; // 00100111 चार परिणाम = बायनरी उदाहरण<< 2; // сдвигаем 2 бита влево, результат: 10011100

जर व्हेरिएबल एक स्वाक्षरी न केलेला प्रकार असेल, तर परिणाम 156 क्रमांक असेल, स्वाक्षरीसाठी ते -100 च्या बरोबरीचे असेल. लक्षात घ्या की स्वाक्षरी केलेल्या पूर्णांक प्रकारांसाठी, बिट प्रतिनिधित्वाच्या सर्वात लक्षणीय बिटमधील एकक हे चिन्ह आहे की संख्या ऋण आहे. या प्रकरणात, बायनरी स्वरूपातील मूल्य ज्यामध्ये सर्वांचा समावेश आहे -1 शी संबंधित आहे; जर 1 फक्त सर्वात लक्षणीय अंकात असेल आणि उर्वरित अंक शून्य असतील, तर अशा संख्येचे विशिष्ट प्रकारासाठी किमान मूल्य आहे: char साठी ते -128 आहे.

2. फ्लोटिंग पॉइंट प्रकार (फ्लोट, डबल (फ्लोट))

फ्लोटिंग-पॉइंट मूल्यांचा संच वास्तविक संख्यांचा उपसंच आहे, परंतु प्रत्येक वास्तविक संख्या बायनरी स्वरूपात दर्शविली जाऊ शकत नाही, ज्यामुळे कधीकधी मूर्ख चुका होतात:

फ्लोट मूल्य = 0.2; मूल्य == ०.२; // त्रुटी, येथे मूल्य 0.2 च्या समान असणार नाही.

फ्लोटिंग-पॉइंट व्हेरिएबल्ससह काम करताना, प्रोग्रामरने समानता किंवा असमानता चाचणी वापरू नये, त्याऐवजी विशिष्ट अंतरालमध्ये पडण्यासाठी चाचणी वापरली जाते:

मूल्य - 0.2< 1e-6; // ok, подбирать интервал тоже нужно осторожно

तुलना ऑपरेशन्स व्यतिरिक्त, फ्लोटिंग पॉइंट प्रकार 4 अंकगणित ऑपरेशन्सना समर्थन देतो जे वास्तविक संख्यांसह गणितीय ऑपरेशन्सशी पूर्णपणे जुळतात.

3. बुलियन (तार्किक) प्रकार (बूल)

फक्त दोन मूल्ये असतात: सत्य (सत्य) आणि असत्य (असत्य). या प्रकारच्या व्हेरिएबल्ससह कार्य करण्यासाठी, लॉजिकल ऑपरेशन्स वापरली जातात: ! (नाही), == (समानता), != (असमानता), && (तार्किक आणि), || (तार्किक किंवा). प्रत्येक ऑपरेशनचे परिणाम संबंधित सत्य सारणीमध्ये आढळू शकतात. उदाहरणार्थ:

X Y XOR0 0 0 0 1 1 1 0 1 1 1 0

४. वर्ण प्रकार (char, wchar_t)

चार प्रकार हा केवळ पूर्णांक प्रकार नसतो (सामान्यत: या प्रकाराला बाइट म्हणतात), परंतु एक वर्ण प्रकार देखील असतो, जो सारणीमधील वर्ण क्रमांक ASCII वर्ण म्हणून संग्रहित करतो. उदाहरणार्थ, कोड 0x41 अक्षर 'A', आणि 0x71 - 't' या वर्णाशी संबंधित आहे.

कधीकधी ASCII सारण्यांमध्ये निश्चित नसलेली वर्ण वापरणे आवश्यक होते आणि म्हणून स्टोरेजसाठी 1 बाइटपेक्षा जास्त आवश्यक असते. त्यांच्यासाठी एक विस्तृत वर्ण आहे (wchar_t).

५.१. ॲरे

ॲरे तुम्हाला समान प्रकारच्या घटकांचा अनुक्रमिक संच संचयित करण्याची परवानगी देतात. ॲरे मेमरीमध्ये एक संलग्न ब्लॉक म्हणून संग्रहित केला जातो, त्यामुळे तुम्ही त्याचा आकार निर्दिष्ट केल्याशिवाय ॲरे घोषित करू शकत नाही. ॲरे घोषित करण्यासाठी, त्याचे आकार दर्शविणाऱ्या व्हेरिएबलच्या नावानंतर चौरस कंस () लिहिले जातात. उदाहरणार्थ:

इंट myArray; // पूर्णांक प्रकारातील 5 घटकांचा ॲरे

ॲरे सुरू करण्यासाठी, मूल्ये कुरळे ब्रेसेसमध्ये सूचीबद्ध आहेत. व्हेरिएबल डिक्लेरेशनच्या वेळीच तुम्ही अशा प्रकारे इनिशियल करू शकता. तसे, या प्रकरणात ॲरेचा आकार निर्दिष्ट करणे आवश्यक नाही:

इंट ऑड्स = (1, 3, 7, 9, 11); // ॲरे 5 व्हॅल्यूसह प्रारंभ केला आहे

ॲरे (ॲरे एलिमेंट) मध्ये विशिष्ट मूल्य ॲक्सेस करण्यासाठी, इंडेक्स ऍक्सेस ऑपरेशन () वापरा जे घटक क्रमांक दर्शवते (संख्या 0 पासून सुरू होते). उदाहरणार्थ:

शक्यता; // ॲरेच्या पहिल्या घटकामध्ये प्रवेश. मूल्य 1 विषमता मिळवते; // तिसऱ्या घटकात प्रवेश. मूल्य 7 विषमता = 13 मिळवते; // ॲरे ऑड्सच्या 5 व्या घटकाला नवीन मूल्य नियुक्त करा; // प्रवेश त्रुटी

५.३. तार

स्ट्रिंग लिहिण्यासाठी, प्रोग्रामर ही कल्पना वापरतात की स्ट्रिंग ही वर्णांची अनुक्रमिक मालिका (ॲरे) आहे. ओळीचा शेवट ओळखण्यासाठी, ओळीचा शेवटचा विशेष वर्ण वापरा: '\0'. बॅकस्लॅश आणि ओळखणारे वर्ण असलेल्या या विशेष वर्णांना कंट्रोल किंवा एस्केप कॅरेक्टर म्हणतात. तेथे देखील आहेत, उदाहरणार्थ, '\n' - नवीन ओळीची सुरुवात, '\t' - सारणी. स्ट्रिंगमध्ये बॅकस्लॅश लिहिण्यासाठी, एस्केप वापरला जातो - दुसरा स्लॅश चिन्हाच्या आधी ठेवला जातो: '\'. एस्केपिंगचा वापर अवतरण चिन्ह लिहिण्यासाठी देखील केला जातो.

चला एक स्ट्रिंग व्हेरिएबल बनवू:

चार मजकूर उदाहरण = ('T', 'e', ​​'s', 't', '\0'); // स्ट्रिंग "चाचणी" लिहिलेली आहे

स्ट्रिंग इनिशिएलायझेशनसाठी एक सरलीकृत नोटेशन आहे:

चार मजकूर उदाहरण = “चाचणी”; // शेवटचे अक्षर लिहिलेले नाही, परंतु आकार अद्याप 5 आहे

तपशीलात न जाता, येथे आणखी एक उपयुक्त डेटा प्रकार आहे - स्ट्रिंग. तार
हा प्रकार, उदाहरणार्थ, जोडला जाऊ शकतो:

स्ट्रिंग हॅलो = "हॅलो,"; string name = "मॅक्स!"; स्ट्रिंग hello_name = hello + name; // स्ट्रिंग मिळवा "हॅलो, कमाल!"

6. दुवा

इंट a = 2; // व्हेरिएबल "a" मूल्य 2 int &b = a; // व्हेरिएबल "b" त्याच ठिकाणी "a" b = 4 दर्शवते; // b चे मूल्य बदलून, प्रोग्रामर a चे मूल्य बदलतो. आता a = 4 int &c = 4; // त्रुटी, कारण आपण हे करू शकत नाही संदर्भ मूल्य नियुक्त केले जाऊ शकत नाही

7. निर्देशांक

हा डेटा प्रकार समजून घेण्यासाठी, तुम्हाला हे लक्षात ठेवणे आवश्यक आहे की या प्रकारच्या अनेक मूल्ये मेमरी सेलचे पत्ते आहेत जिथे डेटा सुरू होतो. पॉइंटर बेरीज (+), वजाबाकी (-) आणि dereference (*) ऑपरेशनला देखील सपोर्ट करतो.

पत्ते 0x0 म्हणजे पॉइंटर रिक्त आहे, म्हणजे. कोणत्याही डेटाकडे निर्देश करत नाही. या पत्त्याचे स्वतःचे शाब्दिक आहे - NULL:

इंट *nullPtr = NULL; // शून्य पॉइंटर

पूर्णांक किंवा दुसऱ्या पत्त्यासह पत्ता जोडणे आणि वजा करणे अनुमती देते
प्रोग्रामला उपलब्ध असलेल्या मेमरीभोवती फिरणे.

पॉइंटरमध्ये साठवलेल्या पत्त्यापासून सुरू होणारा डेटा पुनर्प्राप्त करण्याच्या ऑपरेशनला डीरेफरन्सिंग (*) म्हणतात. प्रोग्राम मेमरी सेलची आवश्यक संख्या वाचतो आणि मेमरीमध्ये संग्रहित मूल्य परत करतो.

int valueInMemory = 2; // पूर्णांक प्रकाराचे व्हेरिएबल सेट करा int *somePtr = // व्हेरिएबलचा पत्ता कॉपी करा, येथे & - somePtr व्हेरिएबलचा पत्ता परत करा; // मेमरी सेलचा पत्ता, उदाहरणार्थ, 0x2F *somePtr; // मूल्य 4 सेलमध्ये साठवले जाते: 0x2F, 0x30, 0x31 आणि 0x32

असाइनमेंट ऑपरेशन, जे सिंटॅक्टली कॉपी ऑपरेशनसारखेच आहे, पॉइंटर्ससाठी उपलब्ध नाही. दुसऱ्या शब्दांत, तुम्ही दुसऱ्या पॉइंटरचा पत्ता किंवा व्हेरिएबलचा पत्ता कॉपी करू शकता, परंतु तुम्ही स्वतः पत्त्याचे मूल्य ठरवू शकत नाही.

पॉइंटर स्वतः मेमरीमध्ये संग्रहित केला जातो, इतर प्रकारच्या व्हेरिएबल्सच्या मूल्यांप्रमाणे, आणि 4 बाइट व्यापतो, त्यामुळे तुम्ही पॉइंटरसाठी पॉइंटर तयार करू शकता.

8. बदल्या

प्रोग्रॅमरने परिभाषित केलेला गणन हा एकमेव मूलभूत प्रकार आहे. मोठ्या प्रमाणात, गणना हा नामांकित पूर्णांक स्थिरांकांचा क्रमबद्ध संच आहे, ज्याचे नाव मूळ प्रकार आहे.

एनम रंग (लाल, निळा, हिरवा);

डीफॉल्टनुसार, RED = 0, BLUE = 1, GREEN = 2. म्हणून, मूल्यांची एकमेकांशी तुलना केली जाऊ शकते, उदा. लाल< BLUE < GREEN. Программист при объявлении перечисления может самостоятельно задать значения каждой из констант:

एनम ऍक्सेस (READ = 1, WRITE = 2, EXEC = 4);

ज्यांची मूल्ये दोन शक्ती आहेत अशा गणनेचा वापर करणे अनेकदा सोयीचे असते, कारण बायनरी प्रतिनिधित्वामध्ये, 2 ची घात असलेली संख्या 1 आणि शून्य असेल. उदाहरणार्थ:

8 10 = 00001000 2

या संख्या एकत्र जोडण्याचा परिणाम नेहमी स्पष्टपणे दर्शवतो की कोणती संख्या जोडली गेली:

37 10 = 00100101 2 = 00000001 2 + 00000100 2 + 00100000 2 = 1 10 + 4 10 + 32 10

शून्य

सिंटॅक्टिकली, शून्य प्रकार मूलभूत प्रकारांशी संबंधित आहे, परंतु तो फक्त अधिक जटिल प्रकारांचा भाग म्हणून वापरला जाऊ शकतो, कारण शून्य प्रकारची कोणतीही वस्तू नाहीत. सामान्यतः, हा प्रकार फंक्शनला कोणतेही रिटर्न व्हॅल्यू नाही किंवा अपरिभाषित प्रकारच्या ऑब्जेक्ट्ससाठी पॉइंटरचा बेस प्रकार म्हणून सूचित करण्यासाठी वापरला जातो:

शून्य वस्तु; // त्रुटी, void void // error या प्रकारची कोणतीही वस्तू नाहीत, void void *ptr चे कोणतेही संदर्भ नाहीत; // ठीक आहे, अज्ञात प्रकारासाठी पॉइंटर संचयित करा

फंक्शन कोणतीही व्हॅल्यू देत नाही हे दर्शविण्यासाठी अनेकदा आपण void वापरतो. जेव्हा प्रोग्रामर मेमरीच्या अखंडतेची आणि योग्य प्रकारची कास्टिंगची संपूर्ण जबाबदारी घेतो तेव्हा व्हॉइड टाइप पॉइंटर वापरला जातो.

कास्टिंग टाइप करा

एका प्रकारच्या व्हेरिएबलचे मूल्य दुसऱ्या प्रकारात टाकणे अनेकदा आवश्यक असते. जर मूळ प्रकाराच्या मूल्यांचा संच मोठ्या प्रकाराचा उपसंच असेल (उदाहरणार्थ, int हा लांबचा उपसंच आहे आणि लांब म्हणजे दुहेरी आहे), कंपाइलर स्पष्टपणे सक्षम आहे ( स्पष्टपणे) मूल्य प्रकार बदला.

पूर्णांक = 2; float floating = पूर्णांक; // फ्लोटिंग = 2.0

रिव्हर्स टाईप कास्ट माहितीच्या नुकसानासह केले जाईल, त्यामुळे फ्लोटिंग-पॉइंट नंबरचा फक्त पूर्णांक भाग राहील, अपूर्णांक भाग गमावला जाईल.

यासाठी, व्हेरिएबलच्या डावीकडे किंवा मूळ प्रकाराचे कोणतेही मूल्य, कंसात, ज्या प्रकारात कास्ट केले जाईल ते लिहा:

इंट व्हॅल्यू = (इंट) 2.5;

युनरी आणि बायनरी ऑपरेशन्स

आम्ही यापूर्वी केलेल्या ऑपरेशन्सना बायनरी म्हणतात: ऑपरेशन चिन्हाच्या डावीकडे आणि उजवीकडे मूल्ये किंवा व्हेरिएबल्स आहेत, उदाहरणार्थ, 2 + 3. बायनरी ऑपरेशन्स व्यतिरिक्त, प्रोग्रामिंग भाषा देखील युनरी ऑपरेशन्स वापरतात जी व्हेरिएबल्सवर लागू होतात. . ते एकतर व्हेरिएबलच्या डावीकडे किंवा उजवीकडे स्थित असू शकतात; याआधी अशा अनेक ऑपरेशन्सचा सामना केला गेला आहे - डीरेफरन्सिंग ऑपरेशन (*) आणि व्हेरिएबलचा पत्ता (&) घेणे अनरी आहे. ऑपरेटर “++” आणि “—” पूर्णांक व्हेरिएबलचे मूल्य अनुक्रमे 1 ने वाढवतात आणि कमी करतात आणि ते व्हेरिएबलच्या डावीकडे किंवा उजवीकडे लिहिले जाऊ शकतात.

जेव्हा अभिव्यक्तीच्या डाव्या आणि उजव्या बाजूस समान व्हेरिएबल असते, तेव्हा C++ बायनरी ऑपरेशन्ससाठी शॉर्टहँड नोटेशन देखील वापरते, म्हणजे. काही ऑपरेशन व्हेरिएबलच्या व्हॅल्यूवर केले जातात आणि ऑपरेशनचा परिणाम त्याच व्हेरिएबलमध्ये संग्रहित केला जातो:

A += 2; // समान a = a + 2; b /= 5; // समान b = b / 5; c &= 3; // समान c = c & 3;

या धड्यात तुम्ही शिकाल C++ भाषा वर्णमाला, आणि काय देखील डेटा प्रकारकार्यक्रम त्यावर प्रक्रिया करू शकतो. हा सर्वात रोमांचक क्षण असू शकत नाही, परंतु हे ज्ञान आवश्यक आहे, याशिवाय, जेव्हा तुम्ही इतर कोणतीही प्रोग्रामिंग भाषा शिकण्यास सुरुवात करता तेव्हा तुम्ही अधिक आत्मविश्वासाने शिकण्याच्या अशाच टप्प्यातून जाल. C++ प्रोग्राममध्ये खालील चिन्हे असू शकतात:

  • अप्परकेस, लोअरकेस लॅटिन अक्षरे A, B, C..., x, y, z आणि अंडरस्कोर;
  • 0 ते 9 पर्यंत अरबी अंक;
  • विशेष वर्ण: ( ) , | , () + - / % * . \" : ?< > = ! & # ~ ; ^
  • जागा, टॅब आणि एस्केप वर्ण नवीन ओळ.

प्रोग्राम चाचणीमध्ये आपण वापरू शकता टिप्पण्या. जर मजकुरात दोन फॉरवर्ड स्लॅश कॅरेक्टर्स असतील // आणि नवीन लाइन कॅरेक्टरने संपत असेल किंवा /* ​​आणि */ कॅरेक्टर्समध्ये संलग्न असेल, तर कंपाइलर त्याकडे दुर्लक्ष करतो.

C++ मधील डेटा

समस्येचे निराकरण करण्यासाठी, कोणताही प्रोग्राम काही डेटावर प्रक्रिया करतो. ते असू शकतात विविध प्रकार: संपूर्ण आणि वास्तविक संख्या, वर्ण, स्ट्रिंग, ॲरे. C++ मध्ये, डेटाचे वर्णन सहसा फंक्शनच्या सुरुवातीला केले जाते. TO मूलभूत डेटा प्रकारभाषांचा समावेश आहे:

इतर प्रकारचे डेटा, मूलभूत आणि तथाकथित व्युत्पन्न करण्यासाठी विनिर्देशक C++ चार डेटा प्रकार निर्दिष्टकार परिभाषित करते:

  • लहान - लहान;
  • लांब - लांब;
  • स्वाक्षरी केलेले - स्वाक्षरी केलेले;
  • स्वाक्षरी न केलेले - स्वाक्षरी न केलेले.

पूर्णांक प्रकार

व्हेरिएबल टाइप करा intसंगणक मेमरीमध्ये 2 किंवा 4 बाइट्स व्यापू शकतात. हे प्रोसेसर बिट आकारावर अवलंबून असते. डीफॉल्टनुसार, सर्व पूर्णांक प्रकार स्वाक्षरी मानले जातात, म्हणजे, निर्दिष्टकर्ता स्वाक्षरी केलीनिर्दिष्ट केले जाऊ शकत नाही. विनिर्देशक स्वाक्षरी न केलेलेतुम्हाला फक्त सकारात्मक संख्या दर्शवू देते. खाली पूर्णांक प्रकार मूल्यांच्या काही श्रेणी आहेत

प्रकार श्रेणी आकार
int -2147483648…2147483647 4 बाइट्स
स्वाक्षरी न केलेले इंट 0…4294967295 4 बाइट्स
स्वाक्षरी int -2147483648…2147483647 4 बाइट्स
लहान इंट -32768…32767 2 बाइट्स
लांब इंट -2147483648…2147483647 4 बाइट्स
स्वाक्षरी न केलेले लहान इंट 0…65535 2 बाइट्स

वास्तविक प्रकार

फ्लोटिंग पॉइंट नंबर mE +- p या स्वरूपात दर्शविला जातो, जेथे m हा मँटिसा (पूर्णांक किंवा अपूर्णांक संख्यादशांश बिंदूसह), p - क्रम (पूर्णांक). सामान्यत: सारखी मूल्ये फ्लोट 4 बाइट व्यापा, आणि दुप्पट 8 बाइट्स. वास्तविक मूल्य श्रेणी सारणी:

फ्लोट 3.4E-38…3.4E+38 4 बाइट्स
दुप्पट 1.7E-308…1.7E+308 8 बाइट्स
लांब दुहेरी ३.४ई-४९३२…३.४ई+४९३२ 8 बाइट्स

बुलियन प्रकार

व्हेरिएबल टाइप करा boolफक्त दोन मूल्ये घेऊ शकतात खरे (खरे ) किंवा फसले (खोटे बोलणे ). कोणताही अर्थ, नाही शून्याच्या बरोबरीचे, असा अर्थ लावला जातो खरेअर्थ खोटेमेमरीमध्ये 0 म्हणून प्रस्तुत केले जाते.

प्रकार शून्य

या प्रकारातील मूल्य संच रिक्त आहे. हे फंक्शन्स परिभाषित करण्यासाठी वापरले जाते जे मूल्य परत करत नाहीत, सूचित करण्यासाठी रिक्त यादीफंक्शन आर्ग्युमेंट्स, पॉइंटर्ससाठी बेस प्रकार आणि कास्टिंग ऑपरेशन्समध्ये.

डेटा प्रकार रूपांतरण

C++ मध्ये, डेटा प्रकार रूपांतरणाचे दोन प्रकार आहेत: स्पष्ट आणि अंतर्निहित.

  • अव्यक्त रूपांतरणआपोआप घडते. हे विविध प्रकारच्या अभिव्यक्तींची तुलना, असाइनमेंट किंवा मूल्यांकन दरम्यान केले जाते. उदाहरणार्थ, पुढील कार्यक्रमकन्सोलवर प्रकाराचे मूल्य मुद्रित करेल फ्लोट

# "stdafx.h" # समाविष्ट करा नेमस्पेस std वापरून; int main() ( int i=5; फ्लोट f=10.12; cout<>रिकामा"); परतावा ०;)

# "stdafx.h" समाविष्ट करा

#समाविष्ट करा

नेमस्पेस std वापरणे;

इंट मुख्य()

int i = 5 ; फ्लोट f = 10.12 ;

cout<< i / f ;

प्रणाली ("विराम>>रिक्त" );

परतावा 0;

ज्या प्रकारात कमीत कमी माहिती गमावली जाते त्याला सर्वोच्च प्राधान्य दिले जाते. तुम्ही अप्रत्यक्ष प्रकारातील रूपांतरणाचा गैरवापर करू नये, कारण विविध अनपेक्षित परिस्थिती उद्भवू शकतात.

  • स्पष्ट रूपांतरणनिहित विरूद्ध, ते प्रोग्रामरद्वारे चालते. हे रूपांतरण करण्याचे अनेक मार्ग आहेत:
  1. शैलींमध्ये रूपांतरित करत आहे सी: (फ्लोट) अ
  2. शैलींमध्ये रूपांतरित करत आहे C++: फ्लोट()

खालील ऑपरेशन्स वापरून टाइप कास्टिंग देखील केले जाऊ शकते:

static_cast<>() const_cast<>() reinterpret_cast<>() डायनॅमिक_कास्ट<> ()

static_cast<> ()

const_cast<> ()

reinterpret_cast<> ()

डायनॅमिक_कास्ट<> ()

static_cas- संबंधित डेटा प्रकार रूपांतरित करते. हा ऑपरेटर नेहमीच्या नियमांनुसार प्रकार कास्ट करतो, जे कंपाइलर स्वयंचलित रूपांतरण करत नाही तेव्हा आवश्यक असू शकते. वाक्यरचना असे दिसेल:

स्टॅटिक_कास्ट टाइप करा<Тип>(वस्तू);

static_cast वापरून, तुम्ही व्हेरिएबलमधून स्थिरता काढू शकत नाही, परंतु खालील ऑपरेटर ते करू शकतात. const_cast- जेव्हा ऑब्जेक्टमधून स्थिरता काढून टाकणे आवश्यक असते तेव्हाच वापरले जाते. वाक्यरचना असे दिसेल:

प्रकारconst_cast< प्रकार> (वस्तू);

reinterpret_cast- विविध प्रकार, पूर्णांक ते पॉइंटरमध्ये रूपांतरित करण्यासाठी आणि त्याउलट वापरले जाते. जर तुम्हाला नवीन शब्द "इंडेक्स" दिसला तर - घाबरू नका! हा देखील एक डेटा प्रकार आहे, परंतु आम्ही लवकरच त्यावर काम करणार नाही. येथे वाक्यरचना पूर्वी चर्चा केलेल्या ऑपरेटरच्या सारखीच आहे:

प्रकारपुन्हा अर्थ लावणे_कास्ट< प्रकार> (वस्तू);

डायनॅमिक_कास्ट- साठी वापरले डायनॅमिक रूपांतरणप्रकार, पॉइंटर किंवा संदर्भांचे कास्टिंग लागू करते. वाक्यरचना:

प्रकारगतिमान _कास्ट< प्रकार> (वस्तू);

नियंत्रण वर्ण

आपण यापैकी काही "नियंत्रण वर्ण" (उदाहरणार्थ, सह \n). ते सर्व बॅकस्लॅशने सुरू होतात आणि दुहेरी अवतरणांनी देखील वेढलेले असतात.

प्रतिमा

हेक्स कोड

नाव

बीपर आवाज

एक पाऊल मागे जा

पृष्ठाचे भाषांतर (स्वरूप)

लाइन फीड

गाडी परत

क्षैतिज सारणी

अनुलंब टॅब

डेटा व्हेरिएबल्स आणि स्थिरांकांमध्ये विभाजित करण्याव्यतिरिक्त, प्रकारानुसार डेटाचे वर्गीकरण आहे. व्हेरिएबल्सच्या वर्णनामध्ये प्रामुख्याने त्यांचा प्रकार घोषित करणे समाविष्ट आहे. डेटा प्रकार त्याच्या मूल्यांची श्रेणी आणि संगणक मेमरीमधील प्रतिनिधित्वाचे स्वरूप दर्शवितो. प्रत्येक प्रकार डेटावर केलेल्या ऑपरेशन्सच्या संचाद्वारे दर्शविला जातो. पारंपारिकपणे, सार्वत्रिक प्रोग्रामिंग भाषांमध्ये अशा आहेत मानक प्रकार, पूर्णांक म्हणून, वास्तविक, प्रतीकात्मक आणि तार्किक 3. C मध्ये तार्किक प्रकार नाही हे आपण लगेच लक्षात घेऊ. एखादी अभिव्यक्ती (विशिष्ट बाबतीत, चल) शून्य नसलेली असल्यास ती सत्य मानली जाते, अन्यथा ती असत्य मानली जाते.

दोन संख्यात्मक प्रकारांचे अस्तित्व (पूर्णांक आणि वास्तविक) संगणकाच्या मेमरीमधील संख्या दर्शविण्याच्या दोन संभाव्य प्रकारांशी संबंधित आहे.

डेटा संपूर्ण प्रकारसादरीकरण स्वरूपात संग्रहित निश्चित बिंदू. संख्यांचे प्रतिनिधित्व करणे आणि त्यावर ऑपरेशन्स करणे, तसेच संख्या मूल्यांच्या मर्यादित श्रेणीद्वारे हे वैशिष्ट्यपूर्ण आहे. पूर्णांक प्रकार डेटासाठी वापरला जातो ज्यात, तत्त्वतः, अपूर्णांक असू शकत नाही (लोकांची संख्या, कार इ., संख्या आणि काउंटर).

वास्तविक टाइप करासंख्या प्रतिनिधित्वाच्या स्वरूपाशी संबंधित आहे फ्लोटिंग पॉइंट, जे लक्षणीय अंकांच्या दिलेल्या संख्येसह (मँटिसा चिन्हे) आणि संख्येच्या क्रमाची एक मोठी श्रेणी असलेल्या संख्येचे अंदाजे प्रतिनिधित्व द्वारे वैशिष्ट्यीकृत आहे, ज्यामुळे निरपेक्ष मूल्यामध्ये खूप मोठ्या आणि अगदी लहान दोन्ही संख्यांचे प्रतिनिधित्व करणे शक्य होते. वास्तविक-प्रकार डेटाच्या अंदाजे प्रतिनिधित्वामुळे, त्यांचे समानतेसाठी तुलना करणे चुकीचे आहे.

युनिव्हर्सल प्रोग्रामिंग लँग्वेजच्या आधुनिक अंमलबजावणीमध्ये, सहसा अनेक पूर्णांक आणि अनेक वास्तविक प्रकार असतात, ज्यापैकी प्रत्येक एक मूल्यासाठी वाटप केलेल्या मेमरीच्या स्वतःच्या आकाराद्वारे दर्शविला जातो आणि त्यानुसार, संख्या मूल्यांची श्रेणी आणि वास्तविक प्रकारांसाठी - आणि त्याचे अचूकता (मंटिसाच्या अंकांची संख्या).

डेटा वर्ण प्रकारस्वीकार्य संपूर्ण संचावर मूल्ये घ्या या संगणकाचावर्ण एक वर्ण मूल्य संचयित करण्यासाठी एक बाइट वाटप केले जाते वर्ण मानक एन्कोडिंग सारणी (सामान्यतः ASCII) नुसार एन्कोड केले जातात.

C मध्ये 4 मूलभूत प्रकार आहेत:

चार- वर्ण प्रकार;

int- संपूर्ण प्रकार,

फ्लोट- एकल अचूक वास्तविक प्रकार,

दुप्पट- दुहेरी अचूक वास्तविक प्रकार.

व्युत्पन्न प्रकार परिभाषित करण्यासाठी, वापरा पात्रता:लहान(लहान) - प्रकारासह वापरले जाते int,लांब(लांब) - प्रकारांसह वापरले जाते intआणि दुप्पट;स्वाक्षरी केली(चिन्हासह), स्वाक्षरी न केलेले(असाइन केलेले) - कोणत्याही पूर्णांक प्रकाराला लागू होते. स्वाक्षरी नसलेल्या शब्दाच्या अनुपस्थितीत, मूल्य स्वाक्षरी मानले जाते, म्हणजे. म्हणजे डीफॉल्ट स्वाक्षरी आहे. पात्रता आणि मूलभूत प्रकारांच्या नावांच्या अनियंत्रित संयोजनाच्या मान्यतेमुळे, एका प्रकारात अनेक पदनाम असू शकतात. मानक C प्रकारांबद्दलची माहिती तक्त्या 1 आणि 2 मध्ये सादर केली आहे. समानार्थी वर्णन करणारे स्वल्पविरामाने विभक्त केलेल्या पहिल्या स्तंभाच्या सेलमध्ये सूचीबद्ध आहेत.

तक्ता 1. मानक C पूर्णांक डेटा प्रकार

डेटा प्रकार

मूल्यांची श्रेणी

char, स्वाक्षरी केलेले char

स्वाक्षरी न केलेले इंट, स्वाक्षरी न केलेले

int, स्वाक्षरी केलेले int, लहान int, लहान

2147483648...2147483647

विशेष म्हणजे, C मध्ये, char प्रकार संदर्भानुसार वर्ण किंवा पूर्णांक प्रकार म्हणून वापरला जाऊ शकतो.

तक्ता 2. मानक C वास्तविक डेटा प्रकार

टिप्पणी द्या.मॅन्युअलच्या पहिल्या भागासाठी प्रोग्राम लिहिण्यासाठी, आम्हाला प्रामुख्याने आवश्यक असेल दोन प्रकार:फ्लोटआणिint.

सॅटेलाइट ट्यूनर्स (रिसीव्हर्स) चे उत्पादक त्यांचे सॉफ्टवेअर सतत सुधारत आहेत. त्याच वेळी, ते त्रुटी सुधारतात, प्रतिमा आणि आवाज गुणवत्ता सुधारतात आणि मेनूमध्ये नवीन कार्ये जोडतात. आणि ट्यूनर (रिसीव्हर) मधील फर्मवेअर अद्यतनित करण्यासाठी, ट्यूनरच्या फ्लॅश मेमरीमधील जुने सॉफ्टवेअर नवीनसह बदलण्यासाठी आपल्याला संगणक आणि शून्य मोडेम वापरण्याची आवश्यकता आहे.

तुमचा रिसीव्हर नवीन सॉफ्टवेअरसह अपडेट करणे शक्य आहे मोडेम केबल, जे स्वतःला घरी बनवणे कठीण नाही. लोकप्रिय भाषेत याला फर्मवेअर म्हणतात उपग्रह ट्यूनर. rs-232 कनेक्टरने सुसज्ज असलेल्या ट्यूनरसाठी, अपडेट करा सॉफ्टवेअर, कळा, पूर्ण डंप घेणे, ट्यूनरची कार्यक्षमता पुनर्संचयित करणे. बर्याच बाबतीत ते फक्त शून्य मोडेम केबलसह वापरले जाते. रिसीव्हर कनेक्ट करण्यासाठी, तुम्हाला कॉम पोर्टसह संगणक किंवा USB-com अडॅप्टरसह लॅपटॉपची आवश्यकता असेल. ऑपरेटिंग सिस्टमसंगणक आणि सॅटेलाइट ट्यूनर जुळण्यासाठी, विंडोज 98, विंडोज एक्सपी, विंडोज 7 x32/x64 बिट किंवा उच्च वापरतात.

सावध राहा! rs-232 केबल नेटवर्कवरून डिस्कनेक्ट झाल्यावरच रिसीव्हरवरून कनेक्ट करा आणि डिस्कनेक्ट करा एसी व्होल्टेज 220 व्होल्ट. फर्मवेअर अपडेट दरम्यान, अपडेट प्रक्रियेत कधीही व्यत्यय आणू नका. सॉफ्टवेअर. हे सर्व फ्लॅश मेमरी अयशस्वी होऊ शकते उपग्रह प्राप्तकर्ता.

चला शून्य मोडेम केबलवर परत जाऊ. योजना अतिशय सोपी आहे. छायाचित्रांमध्ये सर्व काही तपशीलवार दर्शविले आहे. नल मोडेम केबल बनवताना, आपल्याला 2 rs-232 कनेक्टर (महिला कनेक्टर प्रकार) आवश्यक असतील - किंमत कमी आहे. कोणत्याही संगणक स्टोअरमध्ये विकले जाते. तीन कोर असलेली केबल आणि शक्यतो स्क्रीनसह. वापरता येईल वळलेली जोडीप्रकार utp श्रेणी 5e. हे खूप महत्वाचे आहे की केबल ढाल आहे, हे त्याच्यासह कार्य करताना स्थिरता प्रदान करेल. आमच्या वेबसाइटवरील छायाचित्रे वापरून हे सर्व एकत्र आणि सोल्डर केले जाऊ शकते.

फोटोमध्ये खाली सोल्डर केलेल्या कनेक्टरसह सॅटेलाइट रिसीव्हरसाठी एक शून्य मोडेम केबल आहे. 3 वायर आणि एक स्क्रीन गुंतलेली आहे.



आम्ही वाचण्याची शिफारस करतो

वर