अध्याय 3: माइक्रोप्रोसेसर में बाइनरी नंबर संचालन

Adhyaya 3 Ma Ikroprosesara Mem Ba Inari Nambara Sancalana



अध्याय 3: माइक्रोप्रोसेसर में बाइनरी नंबर संचालन

3.1 परिचय

कंप्यूटर में अंकगणितीय कार्य 8 बिट, 16 बिट, 32 बिट या 64 बिट में किये जाते हैं। बाइनरी में 3 जैसी संख्या 11 है। यदि ऑपरेशन 8 बिट्स में किया जाना है, तो इसे 00000011 माना जाता है; इसके पहले 0 शून्य है।







10000101 जैसी बाइनरी संख्या के लिए, सबसे महत्वपूर्ण बिट सबसे बाईं ओर वाला बिट है। इस मामले में यह 1 है. सबसे कम महत्वपूर्ण बिट दाईं ओर चरम बिट है, जो संख्या के लिए अभी भी 1 है। सबसे महत्वपूर्ण बिट को संक्षेप में MSB कहा जाता है। सबसे कम महत्वपूर्ण बिट को संक्षेप में एलएसबी कहा जाता है।



बाइनरी डिजिट को संक्षेप में बीआईटी कहा जाता है और इसे केवल बिट के रूप में लिखा जाता है। संख्या 10010011 में प्रत्येक एक या शून्य एक बिट है। चार बिट्स के समूह को निबल कहा जाता है। आठ बिट्स के समूह को बाइट कहा जाता है। एक बाइट में दो निबल्स होते हैं। निचला कुतरना एलएसबी के लिए कुतरना है और ऊंचा निबल एमएसबी के लिए कुतरना है।



8 बिट्स, 16 बिट्स, 32 बिट्स या 64 बिट्स के समूह को एक शब्द कहा जाता है, जब तक कि वह समूह केवल एक संख्या को इंगित करने से परे जानकारी देता है। समूह को एक शब्द कहा जाता है, उदाहरण के लिए, यदि यह कंप्यूटर में निम्न-स्तरीय निर्देश है। 24 बिट्स का भी एक शब्द है, लेकिन आज उसका प्रयोग आम तौर पर नहीं होता।





एंडियननेस उस क्रम को संदर्भित करता है जिसमें बाइट्स एक शब्द बनाते हैं। 24-बिट शब्द पर विचार करें - 100100001111010100100010. इस शब्द में तीन बाइट्स हैं जो हैं:

10010000 11110101 00100010



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

कंप्यूटर मेमोरी कोशिकाओं की एक श्रृंखला है, और प्रत्येक कोशिका में एक बाइट होती है। कंप्यूटर की मेमोरी में पहला सेल बाइट 0 के लिए है, दूसरा बाइट 1 के लिए है, तीसरा बाइट 2 के लिए है, इत्यादि। बड़ी अंतहीनता के साथ और पिछले शब्द के लिए, सबसे महत्वपूर्ण बाइट को बाइट 0 सेल में संग्रहीत किया जाता है, मध्य बाइट को बाइट 1 सेल में संग्रहीत किया जाता है, और सबसे कम महत्वपूर्ण बाइट को बाइट 2 सेल में संग्रहीत किया जाता है। इसका मतलब यह है कि निचली मेमोरी सेल में अधिक महत्वपूर्ण बाइट हैं।

पिछले 24-बिट शब्द को बाइट्स के उल्टे क्रम में इस प्रकार लिखा जा सकता है:

00100010 11110101 10010000

अब, सबसे कम महत्वपूर्ण बाइट सबसे बाईं ओर है और सबसे महत्वपूर्ण बाइट सबसे दाईं ओर है। जब सबसे बाईं ओर का बाइट सबसे कम महत्वपूर्ण बाइट है और सबसे दाईं ओर का बाइट सबसे महत्वपूर्ण बाइट है, तो यह शब्द का लिटिल एंडियन प्रतिनिधित्व है। थोड़ी सी अंतहीनता के साथ और पिछले शब्द के लिए, सबसे कम महत्वपूर्ण बाइट को बाइट 0 सेल में संग्रहीत किया जाता है, मध्य बाइट को बाइट 1 सेल में संग्रहीत किया जाता है, और सबसे महत्वपूर्ण बाइट को बाइट 2 सेल में संग्रहीत किया जाता है। इसका मतलब यह है कि निचली मेमोरी सेल में कम महत्वपूर्ण बाइट है।

बाइट में बिट्स के लिए एंडियननेस का उपयोग नहीं किया जाता है। इसका उपयोग बाइट में कुतरने के लिए भी नहीं किया जाता है। इसका उपयोग केवल बाइट ऑर्डर के लिए किया जाता है।

संख्या रेखा
बिना चिन्ह वाली संख्या एक धनात्मक संख्या होती है। धनात्मक संख्याएँ शून्य से ऊपर की ओर जाने वाली संख्याएँ हैं। नकारात्मक संख्याएँ भी मौजूद हैं. धनात्मक और ऋणात्मक संख्याओं को एक संख्या-रेखा पर प्रस्तुत किया जा सकता है। निम्नलिखित संख्या रेखा शून्य के निकट धनात्मक और ऋणात्मक पूर्ण संख्याएँ (पूर्णांक) दर्शाती है:

ऋणात्मक संख्याएँ शून्य से नीचे (बाएँ) की ओर घटती हैं। कई स्थितियों में शून्य को सकारात्मक माना जाता है। हालाँकि, कुछ स्थितियों में इसे नकारात्मक माना जाता है। इसीलिए आरेख में शून्य के सामने, निचली संख्या में, प्लस और माइनस का चिह्न होता है। जब कोई संख्या धनात्मक होती है, तो उसका चिह्न छोड़ा जा सकता है; यह आरेख में ऊपरी क्रमांकन का मामला है। ऋणात्मक संख्या के सामने ऋण चिह्न कभी नहीं छोड़ा जाता है।

3.2 बाइनरी संख्याओं का जोड़

इसके अतिरिक्त:

ए + बी = एस

A को संवर्धित कहा जाता है, B को जोड़ कहा जाता है, और S को योग कहा जाता है।

आधार दो में दो सकारात्मक संख्याओं के निम्नलिखित योग पर विचार करें:

आधार दो में, केवल संभावित अंक 0 और 1 हैं। आधार 2 में जोड़ आधार दस में जोड़ने के समान है, लेकिन आधार दो में दो एक-शून्य (10) है। जब किसी कॉलम में दो बिट्स का योग 10 होता है, तो 0 लिखा जाता है और 1 को तत्काल बाएं कॉलम में ले जाया जाता है; वहां दो बिट्स के योग में जोड़ा जाएगा। जब कुल योग तीन है, तो इसका मतलब आधार दो में 11 है। 11 में दाएँ 1 को लिखा जाता है और बाएँ 1 को तत्काल बाएँ कॉलम बिट्स के योग में जोड़ने के लिए ले जाया जाता है। किसी भी स्थिति में, बायीं ओर ले जाने वाले को कैरी कहा जाता है।

पिछली जोड़ तालिका को दाईं ओर से पढ़ने पर, दूसरे कॉलम में (दाएं से), एक कैरी है जिसका परिणाम 1+1 = 10 है। तीसरे कॉलम में, एक कैरी है जिसका परिणाम 1+1+ कैरी है 1 = 11. चौथे कॉलम में, एक कैरी है जिसका परिणाम 0+1+ 1 = 10 का कैरी है। पांचवें कॉलम में, कोई कैरी नहीं है क्योंकि योग 0+0+ 1 = 1 का कैरी है। बाकी कॉलमों में कोई कैरी शामिल नहीं है।

कॉलम की गिनती दाहिने छोर से शुरू होती है। 16-बिट जोड़ के साथ, आठवें कॉलम से नौवें कॉलम (बाईं ओर बढ़ते हुए) तक कैरी किया जा सकता है। निम्न तालिका इसे दर्शाती है:

अंकगणित और तर्क संचालन कंप्यूटर के मदरबोर्ड पर लगे माइक्रोप्रोसेसर में होते हैं।

8-बिट वर्ड कंप्यूटर के लिए, कैरी हार्डवेयर द्वारा स्वचालित रूप से आठवें बिट से नौवें बिट तक नहीं जा सकता है। तो, ऐसे कंप्यूटर में दो 16-बिट समूहों को जोड़ने के लिए, आठ-आठ बिट जोड़े में दो बार जोड़ना पड़ता है। सॉफ़्टवेयर (प्रोग्रामिंग) द्वारा कैरी को स्थानांतरित और प्रभावित किया जाता है।

दो संख्याओं को जोड़ने के लिए, जोड़ने से पहले संख्याओं को उनके दो के पूरक रूप में परिवर्तित किया जा सकता है (नीचे देखें)।

3.3 बाइनरी संख्याओं का दो का पूरक और उसका घटाव

कंप्यूटर के मदरबोर्ड पर मेमोरी होती है और माइक्रोप्रोसेसर और अन्य सर्किट होते हैं। मेमोरी आठ-बिट कोशिकाओं की एक श्रृंखला है। एक बाइट के लिए, प्रत्येक बिट एक सेल में चला जाता है। माइक्रोप्रोसेसर में कुछ मेमोरी-प्रकार के स्थान होते हैं। इन मेमोरी-प्रकार के स्थानों को रजिस्टर कहा जाता है। तो, कंप्यूटर में, बाइट्स के समूहों को मेमोरी में या माइक्रोप्रोसेसर के रजिस्टरों में अस्थायी रूप से संग्रहीत किया जा सकता है।

इनमें से किसी भी स्टोरेज में, प्रत्येक सेल या तो 1 या 0 ले सकता है, और कुछ नहीं। जीवन में सकारात्मक और नकारात्मक संख्याएँ होती हैं। एक धनात्मक संख्या धन चिह्न (+) से शुरू होती है और एक ऋणात्मक संख्या ऋणात्मक चिह्न (-) से शुरू होती है। जब चिह्न हटा दिया जाता है, तो संख्या को एक सकारात्मक संख्या माना जाता है।

कंप्यूटर में किसी संख्या का चिह्न दर्शाने की इस समस्या को हल करने के लिए संपूर्ण संख्याओं को श्रेणियों में संग्रहित किया जाता है। पूर्ण संख्याएँ पूर्णांक होती हैं। यदि आठ बिट्स का उपयोग संभावित संख्याओं की सीमा को संग्रहीत करने के लिए किया जाता है, तो सबसे बाईं बिट का उपयोग साइन बिट के रूप में किया जाता है। यदि संख्या 0 से शुरू होती है, तो वह संख्या एक धनात्मक संख्या है। यदि यह 1 से शुरू होता है, तो संख्या एक ऋणात्मक संख्या है। यदि सोलह बिट्स का उपयोग संभावित संख्याओं की सीमा को संग्रहीत करने के लिए किया जाता है, तो सबसे बाईं बिट का उपयोग साइन बिट के रूप में किया जाता है। यदि संख्या 0 से शुरू होती है, तो वह संख्या एक धनात्मक संख्या है। यदि यह 1 से शुरू होता है, तो संख्या एक ऋणात्मक संख्या है। इस रूप में संख्याओं को हस्ताक्षरित संख्याएँ कहा जाता है।

व्यवहार में, 8 बिट्स, 16 बिट्स, 32 बिट्स और 64 बिट्स के लिए हस्ताक्षरित संख्याएँ हो सकती हैं। बिट्स की संख्या जितनी अधिक उपयोग की जाएगी, संग्रहीत की जा सकने वाली संभावित संख्याओं की सीमा उतनी ही अधिक होगी।

दो के पूरक पूर्णांक
दो के पूरक के साथ, सकारात्मक संख्याएं सामान्य गिनती संख्याएं होती हैं, सिवाय इसके कि सबसे बाईं ओर का अंक 0 है। किसी भी सकारात्मक संख्या के लिए संबंधित नकारात्मक संख्या प्राप्त करने के लिए, संख्या में प्रत्येक बिट को उल्टा करें और परिणाम में 1 जोड़ें। 0 का उलटा या पूरक 1 है। 1 का उलटा या पूरक 0 है। निम्नलिखित तालिकाएँ कुछ दो पूरक संख्याओं को उनकी श्रेणियों में दिखाती हैं:

तालिका 3.31
दो के पूर्णांक दो बिट्स में पूरक हैं
द्विआधारी दशमलव
01 +1
00 +0
ग्यारह -1
10 -2

सकारात्मक बाइनरी संख्याएँ 00 और 01 हैं (अर्थात् शून्य और एक)। सबसे बाईं ओर, शून्य दर्शाता है कि वे सकारात्मक संख्याएँ हैं। 00 कुछ सीमा के मध्य में है। -1 प्राप्त करने के लिए, संख्या 01 का व्युत्क्रम 10 पाया जाता है। इसमें (सबसे दाईं ओर) 1 जोड़ने पर 11 प्राप्त होता है।

चूंकि दो बिट्स का उपयोग किया जाता है, इसलिए श्रेणी में संख्याओं का प्रतिनिधित्व करने के लिए केवल एक बिट बचा है जिसमें 01, 00 और 11 के अनुरूप संख्याएं +1, +0 और -1 शामिल हैं। पहला बिट संकेत को इंगित करता है। ऐसा होता है कि +2 के लिए 10 इन तीन बाइनरी संख्याओं में से नहीं है। 10, 1 से शुरू होता है जिसका अर्थ है कि यह दो के पूरक में एक ऋणात्मक संख्या होनी चाहिए। तो, 10 को श्रेणी में शामिल किया गया है, मतलब -2।

दो के पूरक में दो बिट्स के साथ, दर्शाए जा सकने वाले सभी पूर्णांकों (सकारात्मक और नकारात्मक) की संख्या 2 है 2 = 4 और 2 नहीं 2 -1 = 3. अंतिम ऋणात्मक संख्या जो 2 का ऋणात्मक है, को शामिल करने से सूक्ष्मता उत्पन्न होती है संख्या के साथ – 1. इस मामले में, -2 2-1 = -2 1 = -2. 2 बिट्स में दो की पूरक संख्याओं की सीमा में कोई +2 नहीं है।

तालिका 3.32
दो के पूर्णांक चार बिट्स में पूरक हैं
द्विआधारी दशमलव
0111 +7
0110 +6
0101 +5
0100 +4
0011 +3
0010 +2
0001 +1
0000 +0
1111 -1
1110 1110
1101 -3
1101 -3
1100 -4
1011 -5
1010 -6
1001 1001
1000 -8

सकारात्मक बाइनरी संख्याएं 0000 से 0111 (अर्थात शून्य से सात तक) हैं। सबसे बाईं ओर, शून्य दर्शाता है कि वे सकारात्मक संख्याएँ हैं। 0000 कुछ हद तक सीमा के मध्य में है। -1 प्राप्त करने के लिए, संख्या 0001 का उलटा 1110 पाया जाता है। इसमें 1 जोड़ने पर (सबसे दाईं ओर) 1111 प्राप्त होता है। -2 प्राप्त करने के लिए, 0010 का उलटा 1101 पाया जाता है। इसमें 1 जोड़ने पर ( सबसे दाईं ओर से) 1110 देता है। अन्य नकारात्मक बाइनरी संख्याएं जैसे -3 से -7 इसी तरह निर्धारित की जाती हैं।

चूँकि चार बिट्स का उपयोग किया जाता है, रेंज में संख्याओं को दर्शाने के लिए तीन बिट्स छोड़े जाते हैं जो हैं +7, +6, +5, +4, +3, +2, +1, +0, -1, -2, - 0111, 0110, 0101, 0100, 0011, 0010, 0001, 0000, 1111, 1110, 1101, 1100, 1011, 1010, और 1001 के अनुरूप 3, -4, -5, -6 और -7।

-8 जो 1000 से मेल खाता है उसे अलग से संबोधित करना होगा। इन सभी संख्याओं का पहला बिट सकारात्मक संख्याओं के लिए 0 और नकारात्मक संख्याओं के लिए 1 का संकेत दर्शाता है। ऐसा होता है कि 1000 इन चौदह बाइनरी संख्याओं में से नहीं है। 1000 1 से शुरू होता है जिसका अर्थ है कि जहां तक ​​दो के पूरक का संबंध है, यह एक ऋणात्मक संख्या होगी। तो, 1000 को श्रेणी में शामिल किया गया है, मतलब -8।

दो के पूरक में चार बिट्स के साथ, दर्शाए जा सकने वाले सभी पूर्णांकों (सकारात्मक और नकारात्मक) की संख्या 2 है 4 = 16 न कि 2 4 – 1 = 15. अंतिम ऋणात्मक संख्या को शामिल करने से सूक्ष्म अंतर उत्पन्न होता है जो कि 2 का ऋणात्मक है संख्या चौड़ाई – 1. इस मामले में, -2 4 -1 = -2 3 = -8. संख्याओं की श्रेणी में कोई +8 नहीं है.

दो के पूरक में दो, चार और व्यापक बिट्स के लिए पिछला विश्लेषण 8 बिट्स, 16 बिट्स, 32 बिट्स और 64 बिट्स वाइड बाइनरी संख्याओं पर लागू किया जा सकता है।

दो का पूरक सकारात्मक संख्या के लिए 0 और नकारात्मक संख्या के लिए 1 के चिह्न के लिए पहले (सबसे बाएं) बिट का त्याग करता है। बिट्स के 'एन' बिट विस्तृत समूह के लिए, 2 हैं एन कुल धनात्मक प्लस ऋणात्मक संख्याएँ। यह 2 होगा एन -1, क्या इसमें भाग्यशाली अंतिम (सबसे छोटी) ऋणात्मक संख्या शामिल नहीं थी। उच्चतम धनात्मक संख्या +2 है एन-1 -1 और सबसे छोटी ऋणात्मक संख्या -2 है एन-1 -1. यह -2 होगा एन-1 -1, क्या यह भाग्यशाली नहीं थे -2 एन-1 शामिल.

दो के पूरक में संख्याएँ घटाना
घटाव में:

ए - बी = डी

ए को मीनूएंड कहा जाता है, बी को सबट्रेंड कहा जाता है, और डी को अंतर कहा जाता है।

एक सकारात्मक बाइनरी संख्या को दूसरी सकारात्मक बाइनरी संख्या से घटाने के लिए, मीनूएंड को दो के पूरक में लिखा जाता है और सबट्रेंड को उसके नकारात्मक दो के पूरक मान में बदल दिया जाता है। तो, गणितीय कथन बन जाता है:

ए+ - बी = डी

दूसरे शब्दों में, दो के पूरक घटाव में, घटाव को एक ऋणात्मक संख्या में बदल दिया जाता है और फिर लघुअंत में जोड़ा जाता है।

उदाहरण 3.31:
चार बिट्स का उपयोग करके दो के पूरक में निम्नलिखित दशमलव अभिव्यक्ति का मूल्यांकन करें:

6 – 4

समाधान:
6 के लिए बाइनरी संख्या 110 है। 4-बिट दो के पूरक में, यह 0110 है। +4 के लिए बाइनरी संख्या 100 है। 4-बिट दो के पूरक में, यह 0100 है। 0100 जिसे दो में नकारात्मक 4 में परिवर्तित करना होगा पूरक इस प्रकार है: 0100 का पूरक या व्युत्क्रम 1011 है। इसमें दाएं छोर से 1 जोड़ने पर, जैसा कि हमने जोड़ में जोड़ा था, 1100 प्राप्त होता है। इसलिए, दशमलव अभिव्यक्ति है:

6 - 4 जो बन जाता है:

0110 – 0100 जो है

0110 +(- 0100) = 0110 + 1100 पिछले जोड़ अनुभाग के अनुसार किया गया है:

नोट: 0110 +(- 0100) 6 + - 4 के समान है

दो के पूरक घटाव के साथ, अंतिम कॉलम के बाद, जोड़ में, किसी भी कैरी को फेंक दिया जाता है। दशमलव में घटाने पर गणितीय कथन है:

6 – 4 = 2

दो के पूरक में समान कार्य करते हुए, उत्तर 0010 है जो दो के पूरक बाइनरी गिनती में +2 है। पिछला घटाव बड़ी संख्या में से छोटी संख्या घटाता है। निम्नलिखित उदाहरण में, छोटी संख्या में से बड़ी संख्या घटा दी जाती है। यह देखने के लिए तालिका 3.32 का सहारा लिया जा सकता है कि क्या 0010 वास्तव में दो का पूरक है जो +2 के बराबर है।

उदाहरण 3.32:
चार बिट्स के साथ दो के पूरक में निम्नलिखित दशमलव अभिव्यक्ति का मूल्यांकन करें:

4 – 6

समाधान:
4 के लिए बाइनरी संख्या 100 है। 4-बिट दो के पूरक में, यह 0100 है। +6 के लिए बाइनरी संख्या 110 है। 4-बिट दो के पूरक में, यह 0110 है। 0110 को दो के पूरक में नकारात्मक 6 में परिवर्तित करना होगा इस प्रकार: 0110 का पूरक या व्युत्क्रम 1001 है। इसमें दाएं छोर से 1 जोड़ने पर, जैसा कि हमने पिछले जोड़ में किया था, 1010 प्राप्त होता है। इसलिए, दशमलव अभिव्यक्ति है:

4 – 6 जो बन जाता है:

0100 – 0110 जो है

0100 +(- 0110) = 0100 + 1010 पिछले जोड़ अनुभाग के अनुसार किया गया है:

नोट: 4+ - 6, 0100 +(- 0110) के समान है।

दो के पूरक घटाव के साथ, अंतिम कॉलम के बाद, जोड़ में, किसी भी कैरी को फेंक दिया जाता है। दशमलव में घटाने पर गणितीय कथन है:

4 – 6 = -2

दो के पूरक में समान कार्य करने पर, उत्तर 1110 है जो दो के पूरक बाइनरी गिनती में -2 है। यह देखने के लिए तालिका 3.32 का सहारा लिया जा सकता है कि क्या 1110 वास्तव में दो का पूरक है जो -2 के बराबर है।

3.4 बाइनरी संख्याओं का गुणन

कथन में:

ए एक्स बी = पी

A को गुणक कहा जाता है, B को गुणक कहा जाता है, और P को गुणनफल कहा जाता है। ए एक्स बी अभिव्यक्ति का अर्थ है ए, बी को कई बार जोड़ना जब ए और बी पूर्णांक (पूर्णांक) हों।

बाइनरी में गुणन दशमलव में गुणन के समान है। हालाँकि, इसे दशमलव में करने के बजाय, इसे बाइनरी में किया जाता है। 42 x 10 के दशमलव व्यंजक का गुणन बाइनरी में इस प्रकार किया जाता है जहाँ 42 10 =101010 2 और 10 10 =1010 2 :

जोड़े गए 4 नंबरों को आंशिक उत्पाद कहा जाता है। उत्तर उत्पाद है. आंशिक उत्पादों का जोड़ उसी तरह से किया जाता है जैसा कि पहले बताया गया है।

गुणन को इस प्रकार भी देखा जा सकता है: इस आधार दो गुणन में, यदि गुणक में बिट (अंक) 1 है, तो इसके आंशिक उत्पाद का सबसे कम महत्वपूर्ण बिट गुणक का सबसे कम महत्वपूर्ण बिट है जिसे सीधे इसके नीचे पुनः टाइप किया जाता है; और मल्टीप्लिकैंड के बाकी बिट्स बाईं ओर दोहराए जाते हैं। इस आधार दो गुणन में, यदि गुणक में बिट (अंक) 0 है, तो इसके आंशिक उत्पाद में 0 होता है और इसके ठीक नीचे 0 का सबसे कम महत्वपूर्ण बिट होता है। सभी शून्यों की संख्या गुणक में बिट्स की संख्या है।

3.5 बाइनरी संख्याओं का विभाजन

कथन में:

ए ÷ बी = क्यू

A को लाभांश कहा जाता है, B को भाजक कहा जाता है, और P को भागफल कहा जाता है। भागफल के साथ शेषफल भी हो सकता है। ए ÷ बी अभिव्यक्ति का मतलब है कि ए देने या उसके करीब होने के लिए बी को कितनी बार जोड़ा जा सकता है ताकि शेषफल 0 या बी से कम हो।

विभाजन कई प्रकार से किया जा सकता है। जो विभाजन यहाँ दिखाया गया है वह पुनर्स्थापना प्रभाग है।

प्रभाग को बहाल करना
यह लंबी विभाजन पद्धति है जो स्कूलों में सीखी जाती है। यदि 237 को 6 से विभाजित किया जाए, तो उत्तर 39 शेष बचता है। 237 10 आधार 2 में 11101101 है 2 और 6 10 आधार 2 में 110 है 2 . 39 10 आधार 2 में 100111 है 2 और 3 10 आधार 2 में 11 है 2 .

तो, 11101101 2 110 से विभाजित 2 100111 देता है 2 शेष 11 2 आधार दो में. पुनर्स्थापना विधि के साथ, बाइनरी संख्याएँ सामान्य संख्याएँ होती हैं और वे आवश्यक रूप से दो के पूरक में नहीं होती हैं। निम्नलिखित संरचना 11101101 को विभाजित करती है 2 110 तक 2 100111 देने के लिए 2 शेष 11 2 :

घटाव सामान्य रूप से किया जाता है, दोनों के पूरक का उपयोग करके नहीं। चूँकि यह आधार दो है, एक उधार दो होता है, दस नहीं। आंशिक लाभांश 10, 101, 1011, 1010, और 1001 हैं। 11 शेष है। चूंकि भाजक में तीन अंक होते हैं, इसलिए विभाजन मूल रूप से दिए गए लाभांश से तीन अंकों के समूहों में किया जाता है। भागफल पूर्ण संख्या (पूर्णांक) है, और इस समस्या के लिए यह 100111 है। भागफल एवं शेषफल आशा के अनुरूप है।

3.6 सॉफ्टवेयर और हार्डवेयर के साथ अंकगणितीय संचालन

कंप्यूटर मदरबोर्ड में एक घड़ी होती है. घड़ी की टिक-टिक को पल्स कहा जाता है। प्रत्येक घड़ी पल्स पर, मदरबोर्ड पर विभिन्न स्थानों पर एक या अधिक निर्णय लिए जाते हैं; और इसका संबंध प्रोग्रामिंग (सॉफ्टवेयर) से है।

माइक्रोप्रोसेसर के अंदर, दो प्रकार के सर्किट होते हैं जिन्हें कॉम्बिनेशन लॉजिक सर्किट और अनुक्रमिक लॉजिक सर्किट कहा जाता है। एक अन्य प्रकार का सर्किट होता है जिसे मल्टीप्लेक्सर कहा जाता है। संयोजन तर्क (सर्किट) का उपयोग करके एक घड़ी के अंतराल के भीतर जोड़, गुणा और भाग हो सकता है। जबकि प्रोग्रामिंग (सॉफ्टवेयर) अनुक्रमिक लॉजिक सर्किट और मल्टीप्लेक्सर्स का उपयोग करके प्रत्येक घड़ी पल्स पर निर्णय लेता है।

जब घटाव दो के पूरक का उपयोग करके किया जाता है, तो कम से कम दो घड़ी पल्स आवश्यक हैं। पहली क्लॉक पल्स पर, एक मल्टीप्लेक्सर सबट्रेंड को नॉट गेट्स (प्रति अंक एक नॉट गेट) के सेट पर प्रसारित करता है। दूसरे क्लॉक पल्स पर, कॉम्बिनेशन लॉजिक NOT गेट्स के आउटपुट में 1 जोड़ता है और परिणामी सबट्रेंड और मीनूएंड को जोड़ना जारी रखता है। वह सारा जोड़ एक घड़ी के अंतराल में हो सकता है।

सत्य तालिकाओं का उपयोग करके प्रोग्रामिंग के साथ जोड़, गुणा और भाग अभी भी कम किया जा सकता है। हालाँकि, यह इस ऑनलाइन करियर पाठ्यक्रम में शामिल नहीं है।

3.7 माइक्रोप्रोसेसर में तर्क संचालन

और, या, एक्सओआर, और उलटा

और
निम्न तालिका बिटवाइज़ AND को दर्शाती है। इसका मतलब यह है कि दो अलग-अलग बाइनरी संख्याओं के लिए, संबंधित बिट्स AND सत्य तालिका के आधार पर ANDed हैं:

बाएँ से दाएँ जाने पर, 1 और 1 = 1; 0 और 1 = 0; 0 और 0 = 0; 1 और 0 = 0; और इसी तरह AND सत्य तालिका के अनुसार।

या
निम्न तालिका बिटवाइज OR को दर्शाती है। इसका मतलब यह है कि दो अलग-अलग बाइनरी संख्याओं के लिए, संबंधित बिट्स को OR सत्य तालिका के आधार पर ORed किया जाता है:

बाएँ से दाएँ जाने पर, 1 या 1 = 1; 0 या 1 = 1; 0 या 0 = 0; 1 या 0 = 1; और इसी तरह OR सत्य तालिका के अनुसार।

मुक्त
निम्न तालिका बिटवाइज़ एक्सक्लूसिव-OR को दर्शाती है। इसका मतलब यह है कि दो अलग-अलग बाइनरी संख्याओं के लिए, संबंधित बिट्स को XOR सत्य तालिका के आधार पर XORed किया जाता है:

बाएँ से दाएँ जाने पर, 1 XOR 1 = 0; 0 एक्सओआर 1 = 1; 0 एक्सओआर 0 = 0; 1 एक्सओआर 0 = 1; और इसी तरह XOR सत्य तालिका के अनुसार।

उलटा (नहीं)
निम्न तालिका बिटवाइज़ NOT (उलटा) दर्शाती है। इसका मतलब यह है कि एक बाइनरी संख्या के लिए, इस बार, प्रत्येक बिट नॉट ट्रुथ टेबल के आधार पर उलटा है:

बाएँ से दाएँ जाने पर, 1 = 0 नहीं; नहीं 0 = 1; नहीं 0 = 1; नहीं 1 = 0; और इसी तरह नॉट ट्रुथ टेबल के अनुसार।

दाएँ या बाएँ खिसकना

दाईं ओर शिफ्ट करें
निम्नलिखित बाइनरी संख्या को दाईं ओर 3 बिट स्थितियों में स्थानांतरित किया गया है, जबकि शून्य को बाईं ओर खाली बिट स्थितियों में डाला गया है:

शिफ्टिंग एक, दो, तीन, चार आदि स्थानों के लिए की जा सकती है।

बाईं ओर शिफ्ट करें
निम्नलिखित बाइनरी संख्या को बाईं ओर 3 बिट स्थितियों में स्थानांतरित किया गया है, शून्य को दाईं ओर खाली बिट स्थितियों में डाला गया है:

शिफ्टिंग एक, दो, तीन, चार आदि स्थानों के लिए की जा सकती है।

दाएं या बाएं घूमना

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

दाएं घुमाएं
निम्नलिखित बाइनरी संख्या को दाईं ओर 3 बिट स्थिति में घुमाया गया है:

घूर्णन एक, दो, तीन, चार आदि स्थानों पर किया जा सकता है।

बाएँ रोरेट करें
निम्नलिखित बाइनरी संख्या को बाईं ओर 3 बिट स्थिति में घुमाया गया है:

घूर्णन एक, दो, तीन, चार आदि स्थानों पर किया जा सकता है।

3.8 ASCII कैरेक्टर सेट और उसके कोड मान

ASCII का मतलब 'सूचना आदान-प्रदान के लिए अमेरिकी (यू.एस.ए.) मानक कोड' है। 96 कुंजियों वाले एक कीबोर्ड की कल्पना करें। यह एक आदर्श कीबोर्ड है जहां अपरकेस अक्षर कुंजियाँ छोटे अक्षर कुंजियों से भिन्न होती हैं। हर दूसरी कुंजी एक ऐसे अक्षर का प्रतिनिधित्व करती है जो अंग्रेजी (यू.एस.ए.) कीबोर्ड पर पाया जाता है। वर्ण और कोड (वर्णों के लिए संगत संख्याएँ) निम्नलिखित में सूचीबद्ध हैं:

इस तालिका में, पहले 32 अक्षर (00 वाले अक्षर सहित)। 16 = 0 10 कोड) गैर-मुद्रणीय वर्ण हैं। वे नियंत्रण पात्र हैं. वे स्क्रीन (मॉनिटर) पर नहीं दिखते जहां सब कुछ बराबर है। उनका तो प्रभाव ही होता है. आइए उस पर बाद में अधिक चर्चा करें।

बाकी पात्र मुद्रण पात्र हैं; वे स्क्रीन पर नजर आ रहे हैं. 128 ASCII वर्ण हैं। 2 7 = 128. 1,111,111 2 = 127 10 . 2 में 7 7 मतलब 7 बिट.

अब, 1111111 2 +1 2 वैसा ही है जैसा कि:

यहाँ, 10,000,000 2 = 128 10 . 128 हैं 10 ASCII वर्णों की पिछली सूची (तालिका) में वर्ण। इसमें शून्य वर्ण शामिल है, जिसका आधार सोलह (हेक्साडेसिमल) में कोड 00 है, जो आधार दस में 0 के बराबर है।

चूँकि कुल 128 अक्षर हैं, 128 घटा 32 गैर-मुद्रण अक्षर 96 मुद्रण अक्षर देते हैं। इस अनुभाग में, यह माना जाता है कि 96 अक्षरों वाला एक आदर्श कीबोर्ड है जो प्रिंट करने योग्य अक्षर हैं। इस आदर्श कीबोर्ड पर, अपरकेस अंग्रेजी वर्णों की कुंजियाँ छोटे अंग्रेजी वर्णों की कुंजियों से भिन्न होती हैं।

कीबोर्ड पर प्रत्येक अक्षर को 7 बिट्स की आधार दो संख्या द्वारा दर्शाया जाता है जो सूची में नहीं दिखाया गया है। उदाहरण के लिए, 'एन' के बड़े अक्षर को आधार 2 में सात बिट्स 1001110 द्वारा दर्शाया गया है। 1001110 को परिवर्तित करने के लिए 2 आधार 16 पर, इसके पहले 0 लगाएं और परिणाम को चार-बिट उपसमूहों में इस प्रकार समूहित करें:

| 0100 | 1110 | 2 = | 4 | ई | 16

वह है 01001110 2 = 4ई 16 . 4E कन्वर्ट करने के लिए 16 दस को आधार बनाने के लिए, निम्न कार्य करें:

4 एक्स (16) 1 + ई एक्स (16) 0 = 4 x 16 + ई x 1 = 4 x 16 + 14 x 1 = 64 + 14 = 78 10

सूची (तालिका) में 'एन' के दाईं ओर 4ई की हेक्साडेसिमल संख्या और 78 की दशमलव संख्या है।

एक अन्य उदाहरण के रूप में, '[' वर्ण को आधार 2 में सात बिट्स 1011011 द्वारा दर्शाया गया है। 1011011 को परिवर्तित करने के लिए 2 आधार 16 पर, इसके पहले 0 लगाएं और परिणाम को चार-बिट उपसमूहों में इस प्रकार समूहित करें:

| 0101 | 1011 | 2 = | 5 | बी | 16

वह है 01011011 2 = 5बी 16 . 5B16 को आधार दस में बदलने के लिए, निम्न कार्य करें:

5 एक्स (16) 1 + बी एक्स (16) 0 = 5 x 16 + बी x 1 = 5 x 16 + 11 x 1 = 80 + 11 = 91 10

सूची (तालिका) में '[' के दाईं ओर 5बी की हेक्साडेसिमल संख्या और 91 की दशमलव संख्या है।

एक अन्य उदाहरण के रूप में, '5' की दशमलव संख्या के लिए वर्ण को आधार 2 में सात बिट्स 0110101 द्वारा दर्शाया गया है, और नहीं आधार 2 में 0000101. 0110101 को परिवर्तित करने के लिए 2 आधार 16 पर, इसके पहले 0 लगाएं और परिणाम को चार-बिट उपसमूहों में इस प्रकार समूहित करें:

| 0011 | 0101 | 2 = | 5 | बी | 16

वह है 00110101 2 = 35 16 . 3516 को आधार दस में बदलने के लिए, निम्नलिखित कार्य करें:

3 एक्स (16) 1 + 5 x (16) 0 = 3 x 16 + 5 x 1 = 3 x 16 + 5 x 1 = 48 + 5 = 53 10

सूची (तालिका) में '5' के दाईं ओर हेक्साडेसिमल संख्या 35 और दशमलव संख्या 53 है।

चूँकि कंप्यूटर बाइट्स में काम करता है, जब आदर्श कीबोर्ड पर एक कुंजी दबाई जाती है, तो आठ बिट्स माइक्रोप्रोसेसर (मदरबोर्ड) को भेजे जाते हैं। आदर्श कीबोर्ड एक परिधीय है जो कंप्यूटर की सिस्टम (बेस) इकाई से अलग होता है। इसमें एक इलेक्ट्रॉनिक सर्किट (आईसी) है जो सात बिट्स बनाता है और इसे अपने केबल के माध्यम से सिस्टम यूनिट के मदरबोर्ड पर भेजने से पहले एक शून्य लगाता है। मदरबोर्ड के इनपुट पोर्ट (इनपुट सर्किट) से यह माइक्रोप्रोसेसर तक जाता है जो मदरबोर्ड पर भी होता है। माइक्रोप्रोसेसर से यह मेमोरी में जाता है जो मदरबोर्ड पर भी लगा होता है।

इसलिए, जब आदर्श कीबोर्ड पर 'एन' कुंजी दबाया जाता है, तो आठ बिट्स 01001110 माइक्रोप्रोसेसर में ले जाया जाता है। माइक्रोप्रोसेसर से, उन्हें मेमोरी में ले जाया जाता है जहां वे बाइट के रूप में मेमोरी स्थान पर रहते हैं। कंप्यूटर प्रोग्रामर को यह ध्यान में रखना चाहिए कि 01001110 के आठ बिट्स 2 4E के समान है 16 जो 78 के समान है 10 .

जब आदर्श कीबोर्ड पर '['कुंजी दबाया जाता है, तो आठ बिट्स 01011011 माइक्रोप्रोसेसर में ले जाया जाता है। माइक्रोप्रोसेसर से, उन्हें मेमोरी में ले जाया जाता है जहां वे बाइट के रूप में मेमोरी स्थान पर रहते हैं। कंप्यूटर प्रोग्रामर को यह ध्यान में रखना चाहिए कि 01011011 के आठ बिट्स 2 5B के समान है 16 जो 91 के समान है 10 .

जब आदर्श कीबोर्ड पर '5' कुंजी को दशमलव संख्या के बजाय एक अक्षर के रूप में दबाया जाता है, तो आठ बिट्स 00110101 को माइक्रोप्रोसेसर में ले जाया जाता है। माइक्रोप्रोसेसर से, उन्हें मेमोरी में ले जाया जाता है जहां वे बाइट के रूप में मेमोरी स्थान पर रहते हैं। कंप्यूटर प्रोग्रामर को यह ध्यान में रखना चाहिए कि 00110101 के आठ बिट्स 2 35 के समान है 16 जो 5310 के समान है 10 .

ऐसे समय होते हैं जब कोई प्रोग्राम चल रहा होता है और कंप्यूटर में दशमलव संख्या 5 दर्ज होने की प्रतीक्षा करता है। इस स्थिति में, यदि आदर्श कीबोर्ड पर '5' कुंजी दबाया जाता है, तब भी 00110101 का आठ-बिट कोड माइक्रोप्रोसेसर पर ले जाया जाता है। चूँकि 5 की दशमलव संख्या की आवश्यकता है, न कि '5' वर्ण की, मेमोरी से कोड का एक टुकड़ा (छोटा प्रोग्राम) आधार दो में 00110101 के वर्ण कोड को दो के पूरक संख्या 00000101 में परिवर्तित करने के लिए माइक्रोप्रोसेसर का उपयोग करता है। 2 इसे दो के पूरक बाइट के रूप में स्मृति स्थान पर भेजने से पहले। कंप्यूटर प्रोग्रामर को यह ध्यान रखना होगा कि 00000101 का मतलब 5 है 10 आधार 2 में, और यह 00110101 के कोड नंबर से अलग है 2 , 35 16 , और 53 10 जिसका अर्थ है '5' का अक्षर। मेमोरी में दोनों की पूरक संख्या 00000101 को प्रदर्शित करने के लिए, एक अन्य लघु प्रोग्राम को 00000101 को मेमोरी से 00110101 में परिवर्तित करना होगा। यह 00110101 है जो 35 के समान है 16 जो 53 के समान है 10 जो मॉनिटर पर प्रदर्शित होता है (या प्रिंटर द्वारा कागज पर मुद्रित होता है)।

3.9 फ़्लोटिंग पॉइंट नंबर प्रारूप

दशमलव भाग के बिना कोई संख्या पूर्णांक होती है। संख्या 36 एक पूर्णांक है. 36.375 एक पूर्णांक नहीं है. यह दशमलव भाग वाली एक दशमलव संख्या है। .375 का दशमलव भाग एक भिन्न है जो 1 से कम है।

36.375 की व्याख्या दशमलव रूप में इस प्रकार की जाती है:

अब:

तो, 100100 2 = 3610 जो 36.375 का पूर्णांक भाग है 10 .

अब:

तो, 0.011 2 = 0.375 10 जो 36.375 का दशमलव संख्या भाग है 10 .

∴ 36,375 10 = 100100.011 2

इसे दूसरे तरीके से रखें:

100100.011 2 = 36,375 10

कंप्यूटर में संख्याओं को आधार 2 में दर्शाया जाता है न कि आधार 10 में, जबकि सब कुछ समान होता है। चूंकि माइक्रोप्रोसेसर में रजिस्टर में एक सेल या मेमोरी में एक सेल केवल 1 या 0 ही ले सकता है, इसलिए दशमलव बिंदु को संग्रहीत करने के लिए कोई जगह नहीं है। इससे समस्या उत्पन्न होती है. रिज़ॉल्यूशन के रूप में, IEEE-754 एकल परिशुद्धता 32-बिट फ़्लोटिंग पॉइंट प्रतिनिधित्व और IEEE-754 डबल परिशुद्धता 64-बिट फ़्लोटिंग पॉइंट प्रतिनिधित्व है।

32-बिट फ़्लोटिंग पॉइंट नंबर प्रारूप
संख्या 100100.0112 को इस प्रकार व्यक्त किया जा सकता है:

100100.011 2 = 1.00100011 2 एक्स 2 +5

गणित में = प्रतीक के दायीं ओर को 100100.011 के बायीं ओर के आधार दो मानक रूप के रूप में संदर्भित किया जाता है। 2 .

अब, 1.00100011 में से 00100011 2 = चिन्ह के दाहिनी ओर, पूर्ववर्ती '1' के बिना। और आधार के लिए 2 के बिना, स्पष्ट महत्व कहा जाता है। इस मामले में, '1' प्राप्त करने के लिए बाइनरी बिंदु को बायीं ओर पांच स्थानों पर ले जाया जाता है। दशमलव बिंदु और बाइनरी बिंदु के बीच भ्रमित न हों। बाइनरी बिंदु आधार 2 के लिए है, जबकि दशमलव बिंदु आधार 10 के लिए है। '1.' = प्रतीक के दाहिनी ओर 00100011 के बाद, आधार के लिए 2 के बिना, वास्तविक महत्व बनता है। हालाँकि, 1.00100011 को अंतर्निहित महत्व कहा जाता है।

दाहिनी ओर महत्व के बाद 'x 2' है +5 ' अभिव्यक्ति। इस अभिव्यक्ति के साथ, +5 को घातांक कहा जाता है। प्लस चिन्ह का मतलब है कि बाइनरी पॉइंट को अपनी सामान्य मूल स्थिति में आने के लिए पांच स्थान आगे बढ़ना होगा और 2 नंबरिंग का आधार है। पिछले समीकरण को उल्टा इस प्रकार लिखा जा सकता है:

1.00100011 2 एक्स 2 +5 = 100100.011 2

32-बिट फ़्लोटिंग पॉइंट प्रतिनिधित्व के साथ, यह '1.00100011' है 2 एक्स 2 +5 ” का उपयोग किया जाता है न कि केवल “100100.011” का 2 ”। आधार के लिए 2 दर्ज नहीं किया गया है. '1.00100011' के लिए 32-बिट फ़्लोटिंग पॉइंट प्रतिनिधित्व 2 एक्स 2 +5 संख्या, जो 36.375 के बराबर है 10 = 100100.011 2 , निम्नलिखित तालिका में दिखाया गया है:

32-बिट स्थितियाँ हैं जिन्हें दाएँ छोर से क्रमांकित किया गया है, 0 से शुरू करके। बाएँ छोर पर पहला बिट साइन बिट है। यदि संख्या सकारात्मक है, तो यह बिट 0 है। यदि संख्या नकारात्मक है, तो यह बिट 1 है (-1 में दो अक्षर होते हैं और इसे किसी एक सेल में नहीं रखा जा सकता है)। 1.00100011 2 एक्स 2 +5 जो 36.375 के बराबर है 10 जो कि 100100.011 के बराबर भी है 2 एक धनात्मक संख्या है. तो, पहला बिट 0 है।

घातांक के लिए आठ बिट स्थितियाँ हैं, स्थिति 30 से शुरू होकर स्थिति 23 तक, सम्मिलित रूप से। हालाँकि, वहाँ जो घातांक लिखा है वह 10000100 है 2 जो 132 के बराबर है 10 . ब्याज की संख्या का प्रतिपादक वास्तव में दो के आधार का +5 है। तो, क्या होता है?

अब, 32-बिट प्रारूप में, 0 के घातांक को 01111111 के रूप में लिखा जाता है 2 जो 127 के बराबर है 10 . +5 10 +101 है 2 . तो, 10000100 पर पहुंचने में 2 तालिका में घातांक भाग में, 101 2 01111111 में जोड़ा गया था 2 , तदनुसार। इसका मतलब है कि 127 में 5 जोड़ने पर 132 प्राप्त हुआ 10 .

महत्व, '1' के बिना, सम्मिलित रूप से 22वें स्थान से 15वें स्थान पर आ गया। ध्यान दें कि '1' में से 1. 32-बिट स्ट्रिंग में इंगित नहीं किया गया है। इसका संकेत कभी नहीं दिया गया - इसे स्वीकार करें। स्थिति 0 से नीचे की शेष कोशिकाएँ शून्य से भरी हुई हैं।

यदि वास्तविक घातांक -5 है, तो 127 में से 5 घटा दिया जाता है 10 122 होना 10 . यह 101 घटाने के अनुरूप है 2 01111111 से 2 01111010 होना चाहिए 2 .

पिछले सभी उदाहरणों के साथ, संख्या +1 जो 1.0 x 2 के बराबर है 0 = 1.0 x 1 = 1.0 को इस प्रकार दर्शाया गया है:

ध्यान दें कि '1.' 1.0 x 2 का 0 प्रारूप में दर्शाया नहीं गया है। इसका कभी संकेत नहीं दिया जाता. अगला मिश्रित अंश जो 1.0 के बाद सकारात्मक रूप से जाता है वह है:

दाएँ छोर पर 1 पर ध्यान दें। यह प्रतिनिधित्व संख्या है:

1.0000001192092896 और 1.0 के बीच अंतर है:

1.0000001192092896 - 1.0 = 0.0000001192092896

दशमलव भाग वाली संख्याएँ मिश्रित भिन्न होती हैं। 1 के बीच की सभी भिन्नें नहीं 10 और 2 10 कम्प्यूटर में प्रदर्शित किया जा सकता है। यह माना जा सकता है कि 32-बिट फ़्लोटिंग पॉइंट प्रारूप के साथ लगातार मिश्रित संख्याओं के बीच सबसे छोटा भिन्नात्मक अंतर 0.0000001192092896 है। दोहरी परिशुद्धता के लिए अंतराल छोटा होने की अपेक्षा करें। निम्नलिखित चित्रण देखें.

संख्या का प्रतिनिधित्व करते हुए, 0.0 पिछले तर्कों का पालन नहीं करता है। 0.0 के लिए प्रतिनिधित्व घोषित किया गया है और इसे इसी प्रकार सीखना होगा। 0.0 का प्रतिनिधित्व करने के लिए, महत्व के लिए सभी कोशिकाएँ 0 हैं और घातांक के लिए सभी कोशिकाएँ भी शून्य हैं। साइन बिट 0 या 1 हो सकता है। दुर्भाग्य से, यह सकारात्मक 0 और नकारात्मक 0 को निम्नानुसार जन्म देता है:

वास्तविक जीवन में, केवल एक शून्य है. सकारात्मक 0 और नकारात्मक 0 मौजूद नहीं हैं। हालाँकि, 0 को आमतौर पर सकारात्मक माना जाता है। इस विशेष प्रारूप विवरण के कारण सकारात्मक 0 और नकारात्मक 0 यहां मौजूद हैं। संख्या रेखा (ऊपर देखें) में +0 और -0 भी हो सकते हैं, लेकिन केवल एक शून्य मौजूद होता है।

64-बिट फ़्लोटिंग पॉइंट नंबर प्रारूप
64-बिट फ़्लोटिंग पॉइंट प्रारूप 32-बिट प्रारूप के समान है, लेकिन निम्नलिखित अंतरों के साथ:

  • किसी संख्या को दर्शाने के लिए 64 बिट होते हैं।
  • साइन बिट के बाद घातांक संख्या के लिए 11 बिट होते हैं।
  • शून्य सूचकांक के लिए घातांक संख्या (2 0 ) 1023 है 10 = 011111111111 2 .
  • स्पष्ट महत्व के लिए ग्यारह बिट्स के बाद 52 बिट्स आते हैं।
  • इसमें 32-बिट प्रारूप की तुलना में संख्याओं की व्यापक श्रृंखला है।

ध्यान दें कि '1.' यह महत्व की शुरुआत में है और अभी भी 64 बिट्स में शामिल नहीं है, जैसे यह 32-बिट प्रारूप के लिए 32 बिट्स में शामिल नहीं है।

64-बिट प्रारूप और 32-बिट प्रारूप के बीच सबसे महत्वपूर्ण अंतर यह है कि 64-बिट प्रारूप में लगातार मिश्रित अंशों के बीच का अंतर 32-बिट प्रारूप की तुलना में छोटा है।

64-बिट प्रारूप में, 1.0 और अगले मिश्रित अंश के बीच अंतराल (अंतराल) की गणना निम्नानुसार की जा सकती है:

1.0 है

0 0 0111111111 000000000000000000 0000000000 000000000000000000 2

यह '1' के बराबर है, जिसे स्ट्रिंग में इंगित नहीं किया गया है, 2 से गुणा करके घात (सूचकांक) 0 (घातांक 1023 के साथ) तक बढ़ाया गया है 10 = 0111111111111 2 2 के लिए 0 = 1). स्ट्रिंग 1.0 x 2 है 0 .

1.0 से बड़ा अगला मिश्रित अंश है:

0 0 0111111111 000000000000000000 0000000000 0000000000000000001 2

यह '1' के बराबर है जो स्ट्रिंग में इंगित नहीं किया गया है, उसके बाद 51 शून्य, और फिर 1, 2 से गुणा करके घात 0 तक बढ़ाया गया (घातक 1023 के साथ) 10 = 0111111111112 2 2 के लिए 0 = 1). यह वैसा ही है:

+2 0 × (1 + 2− -52 ) ≈ 1.0000000000002

≈ का मतलब लगभग बराबर है।

अब:

1.000000000000002 – 1.0 ≈ 0.000000000000002

32-बिट प्रारूप के लिए संगत अंतराल मान 0.0000001192092896 ≈ 0.00000012 है।

0.000000000000002, 0.00000012 से बहुत छोटा है। तो, 64-बिट प्रारूप में दो लगातार पूर्णांकों (जैसे 3 और 4) के बीच 32-बिट प्रारूप के लिए दो लगातार पूर्णांकों के बीच कहीं अधिक मिश्रित अंश हैं।

संख्या रेखा पर दो क्रमागत पूर्णांकों के बीच मिश्रित भिन्नों की संख्या अनंत होती है। इसलिए, कोई भी प्रारूप (जैसे 32-बिट या 64-बिट) किन्हीं दो लगातार पूर्णांकों (पूर्ण संख्याओं) के बीच सभी मिश्रित अंश प्रदान नहीं कर सकता है। किसी प्रारूप (जैसे 32-बिट या 64-बिट) द्वारा प्रदान किए गए दो लगातार पूर्णांकों के बीच का अंतर (अंतराल) जितना छोटा होगा, लगातार पूर्णांकों (संख्या रेखा के लिए) के बीच मिश्रित अंशों की संख्या उतनी ही अधिक होगी।

64-बिट प्रारूप को 32-बिट प्रारूप की तुलना में दोगुना या उच्च परिशुद्धता के रूप में वर्णित करने का कारण यह है कि 64-बिट प्रारूप के लिए दो लगातार पूर्णांकों से घिरे दो लगातार मिश्रित अंशों के बीच का अंतराल संबंधित 32 से छोटा है। -बिट प्रारूप अंतराल। इसके अलावा, 64-बिट प्रारूप के लिए दो परिबद्ध पूर्णांकों के बीच 32-बिट प्रारूप की तुलना में अधिक संभावित मिश्रित अंश हैं।

दशमलव संख्या के दशमलव भाग (अंश) को बाइनरी भाग में परिवर्तित करना
36.375 एक दशमलव संख्या है जिसका दशमलव भाग '.375' है। '.375' का दशमलव भाग शून्य और एक के बीच का अंश है। आधार दस में 0.5 का मान आधार दो में 1/2 के समान है। 0.5 10 जिसे आधार दो विस्तार के साथ व्यक्त किया गया है:

यह 0.101 नहीं है 2 जिसका मतलब है 0.625 10 . दशमलव संख्या के दशमलव भाग में संबंधित बाइनरी संख्या के लिए समकक्ष बाइनरी भाग होता है। तो, 36.375 जैसी दशमलव संख्या को परिवर्तित करने के लिए 10 आधार दो में, 36 को बाइनरी में बदलें और फिर .375 को भी बाइनरी में बदलें। फिर, दोनों परिणामों को बाइनरी पॉइंट से जोड़ें। दोनों अनुभागों को परिवर्तित करने की विधियाँ भिन्न-भिन्न हैं। दशमलव पूर्णांक को आधार 2 में कैसे बदलें, अध्याय 1 में बताया गया है।

दशमलव भिन्न को बाइनरी भिन्न में बदलने के लिए, निम्नलिखित चरणों का पालन करें:

  • दशमलव अंश (दशमलव भाग) को 2 से गुणा करें। इससे जो पूर्णांक प्राप्त होता है वह पहला बाइनरी अंक होता है।
  • अगला बाइनरी अंक प्राप्त करने के लिए भिन्नात्मक दशमलव परिणाम के साथ पिछले चरण को दोहराएं।
  • पिछले चरण को तब तक दोहराते रहें जब तक कि दशमलव भिन्नात्मक परिणाम .0000— न हो जाए।

उदाहरण: 36.375 के भिन्नात्मक भाग को रूपांतरित करें 10 आधार दो में समतुल्य भिन्नात्मक भाग के लिए।

समाधान:

ध्यान दें कि तीसरे चरण में, .500 को 2 से गुणा किया गया था, न कि 1.500 से। बाइनरी संबंधित अंश को शीर्ष से अंतिम कॉलम में पढ़ा जाता है। और इसलिए, निम्नलिखित परिणाम है:

.375 10 = .011 2

बाइनरी संख्या के बाइनरी भाग (अंश) को दशमलव भाग में परिवर्तित करना
इसे प्राप्त करने के लिए, द्विआधारी अंश को 2 की पारस्परिक शक्तियों में विस्तारित करें।

उदाहरण: 100100.011 के भिन्नात्मक भाग को रूपांतरित करें 2 आधार दस में समतुल्य भिन्नात्मक भाग के लिए।

समाधान:

3.10 कंप्यूटिंग में संख्या उपसर्ग

सामान्य जीवन में, 1 किलो का मतलब 1000 होता है जिसे 1 किलो के रूप में k (लोअरकेस) में संक्षिप्त किया जाता है। कंप्यूटिंग में, 1 किलो का मतलब 2 होता है 10 = 1024, लेकिन इसे 1Kbits की तरह K (अपरकेस) में संक्षिप्त किया गया है। सामान्य जीवन में, 1 मेगा का मतलब 1,000,000 होता है जिसे 1Mg की तरह M (अपरकेस) में संक्षिप्त किया जाता है। कंप्यूटिंग में, 1 मेगा का मतलब 2 है बीस = 1,048,576 = 2 10 एक्स 2 10 = 1024 x 1024 = 1,048,576 और इसे अभी भी 1एमबिट्स की तरह एम (अपरकेस) में संक्षिप्त किया गया है। सामान्य जीवन में, 1 गीगा का मतलब 1,000,000,000 को G (अपरकेस) में संक्षिप्त किया जाता है जैसे कि 1Gg में। कंप्यूटिंग में, 1 गीगा का मतलब 2 है 30 = 1,073,741,824 = 2 10 एक्स 2 10 एक्स 2 10 = 1024 x 1024 x 1024 = 1,073,741,824 और इसे अभी भी 1 जीबी बिट्स की तरह जी (अपरकेस) में संक्षिप्त किया गया है। निम्न तालिका सामान्य जीवन और कंप्यूटिंग में चार उपसर्गों का अर्थ देती है:

3.11 समस्याएँ

पाठक को अगले अध्याय पर जाने से पहले एक अध्याय की सभी समस्याओं को हल करने की सलाह दी जाती है।

  1. -10 से +10 तक पूर्णांकों वाली एक संख्या रेखा खींचिए।
  2. निम्नलिखित बाइनरी संख्याओं को 8-बिट दो के पूरक में जोड़ें: 101010 2 और 1111 2 .
  3. 1111 की बाइनरी संख्या को घटाने के लिए 8-बिट्स में केवल दो के पूरक दृष्टिकोण का उपयोग करें 2 101010 की बाइनरी संख्या से 2 .
  4. 10110 का गुणनफल ज्ञात कीजिए 2 x 1101 2 आधार दो में.
  5. 36,375 को विभाजित करें 10 1000 तक 10 दशमलव और बाइनरी में, और परिणामों की तुलना करें।
  6. तार्किक AND, OR, XOR, इनवर्ट, राइट शिफ्ट, लेफ्ट शिफ्ट, राइट रोटेट और रोटेट लेफ्ट को दर्शाने के लिए अपनी पसंद के 8-बिट्स का उपयोग करें। प्रत्येक बाइट में 1 और 0 का मिश्रण होना चाहिए।
  7. ए) हेक्साडेसिमल, बाइनरी और दशमलव में शून्य के ASCII वर्ण के लिए संख्यात्मक कोड लिखें।
    बी) हेक्साडेसिमल, बाइनरी और दशमलव में '1' के ASCII वर्ण के लिए संख्यात्मक कोड लिखें।
    ग) हेक्साडेसिमल, बाइनरी और दशमलव में 'ए' के ASCII वर्ण के लिए संख्यात्मक कोड लिखें।
    घ) हेक्साडेसिमल, बाइनरी और दशमलव में 'ए' के ASCII वर्ण के लिए संख्यात्मक कोड लिखें।
  8. कन्वर्ट 49.49 10 आधार दो में. अपने परिणाम को आईईईई 32-बिट फ़्लोटिंग पॉइंट प्रारूप में परिवर्तित करें।
  9. ए) आईईईई 64-बिट फ़्लोटिंग पॉइंट प्रारूप 32-बिट प्रारूप से कैसे भिन्न है?
    बी) दो संबंधित कारण बताएं कि क्यों 64-बिट प्रारूप को दोगुने या उच्च परिशुद्धता के रूप में वर्णित किया गया है
    32-बिट प्रारूप.