অধ্যায় 3: মাইক্রোপ্রসেসরে বাইনারি নম্বর অপারেশন

Adhyaya 3 Ma Ikroprasesare Ba Inari Nambara Aparesana



অধ্যায় 3: মাইক্রোপ্রসেসরে বাইনারি নম্বর অপারেশন

3.1 ভূমিকা

একটি কম্পিউটারে, পাটিগণিত অপারেশনগুলি 8 বিট, 16 বিট, 32 বিট বা 64 বিটে করা হয়। বাইনারিতে 3 এর মত একটি সংখ্যা হল 11। যদি অপারেশনটি 8 বিটে করা হয়, তাহলে এটি 00000011 হিসাবে বিবেচিত হয়; এর আগে 0 শূন্য।







10000101 এর মত একটি বাইনারি সংখ্যার জন্য, সবচেয়ে উল্লেখযোগ্য বিট হল চরম বাম দিকের বিট। এই ক্ষেত্রে এটি 1। সর্বনিম্ন তাৎপর্যপূর্ণ বিট হল ডানদিকের চরম বিট, যা সংখ্যার জন্য এখনও 1। সবচেয়ে তাৎপর্যপূর্ণ বিটকে সংক্ষেপে MSB বলা হয়। সর্বনিম্ন উল্লেখযোগ্য বিটকে সংক্ষেপে LSB বলা হয়।



বাইনারি ডিজিটকে সংক্ষেপে বিআইটি বলা হয় এবং সহজভাবে বিট হিসাবে লেখা হয়। 10010011 নম্বরে, প্রতিটি এক বা শূন্য একটি বিট। চার বিটের একটি দলকে নিবল বলা হয়। আট বিটের একটি গ্রুপকে বাইট বলে। একটি বাইট দুটি নিবল নিয়ে গঠিত। নীচের নিবল হল LSB-এর জন্য নিবল এবং উচ্চতর নিবল হল MSB-এর জন্য নিবল।



8 বিট, 16 বিট, 32 বিট, বা 64 বিটের একটি গ্রুপকে একটি শব্দ বলা হয়, যতক্ষণ না সেই গ্রুপটি শুধুমাত্র একটি সংখ্যা নির্দেশ করার বাইরে তথ্য প্রকাশ করে। গোষ্ঠীটিকে একটি শব্দ বলা হয়, উদাহরণস্বরূপ, যদি এটি কম্পিউটারে নিম্ন-স্তরের নির্দেশ হয়। এছাড়াও 24 বিটের একটি শব্দ আছে, কিন্তু এটি আজ সাধারণত ব্যবহৃত হয় না।





Endianness বাইট একটি শব্দ গঠনের ক্রম বোঝায়। 24-বিট শব্দটি বিবেচনা করুন - 100100001111010100100010। এই শব্দটি তিনটি বাইট নিয়ে গঠিত:

10010000 11110101 00100010



সবচেয়ে উল্লেখযোগ্য বাইট হল বাম সবচেয়ে বাইট। যখন চরম বাম দিকের বাইট সবচেয়ে তাৎপর্যপূর্ণ বাইট হয় এবং চরম ডানদিকের বাইটটি সবচেয়ে কম গুরুত্বপূর্ণ বাইট হয়, তখন এটিকে শব্দের বিগ এন্ডিয়ান উপস্থাপনা হিসেবে উল্লেখ করা হয়। লিটল এন্ডিয়ান প্রতিনিধিত্ব বিপরীত।

কম্পিউটার মেমরি হল কোষের একটি সিরিজ, এবং প্রতিটি সেল একটি বাইট ধারণ করে। কম্পিউটারের মেমরির প্রথম ঘরটি বাইট 0 এর জন্য, দ্বিতীয়টি বাইট 1 এর জন্য, তৃতীয়টি বাইট 2 এর জন্য ইত্যাদি। বড় এন্ডিয়ানেসের সাথে এবং পূর্ববর্তী শব্দের জন্য, সবচেয়ে উল্লেখযোগ্য বাইটটি বাইট 0 ঘরে সংরক্ষিত হয়, মধ্যম বাইটটি বাইট 1 ঘরে সংরক্ষণ করা হয় এবং সর্বনিম্ন উল্লেখযোগ্য বাইটটি বাইট 2 ঘরে সংরক্ষণ করা হয়। এর মানে নিম্ন মেমরি কোষে আরও উল্লেখযোগ্য বাইট রয়েছে।

পূর্ববর্তী 24-বিট শব্দটি নিম্নরূপ বাইটের বিপরীত ক্রমে লেখা যেতে পারে:

00100010 11110101 10010000

এখন, সর্বনিম্ন উল্লেখযোগ্য বাইটটি চরম বাম দিকে এবং সবচেয়ে উল্লেখযোগ্য বাইটটি চরম ডানদিকে রয়েছে। যখন চরম বাম দিকের বাইটটি সর্বনিম্ন উল্লেখযোগ্য বাইট হয় এবং চরম ডানদিকের বাইটটি সবচেয়ে উল্লেখযোগ্য বাইট হয়, তখন এটি শব্দের লিটল এন্ডিয়ান উপস্থাপনা। সামান্য endianness এবং পূর্ববর্তী শব্দের জন্য, সর্বনিম্ন তাৎপর্যপূর্ণ বাইট বাইট 0 কক্ষে সংরক্ষণ করা হয়, মধ্যম বাইটটি বাইট 1 ঘরে সংরক্ষণ করা হয় এবং সবচেয়ে উল্লেখযোগ্য বাইটটি বাইট 2 কক্ষে সংরক্ষণ করা হয়। এর মানে নিম্ন মেমরি কোষে কম উল্লেখযোগ্য বাইট আছে।

একটি বাইটে বিটের জন্য Endianness ব্যবহার করা হয় না। এটি একটি বাইটে নিবলের জন্যও ব্যবহৃত হয় না। এটি শুধুমাত্র বাইট অর্ডারের জন্য ব্যবহৃত হয়।

নম্বর লাইন
একটি চিহ্ন ছাড়া একটি সংখ্যা একটি ধনাত্মক সংখ্যা. ধনাত্মক সংখ্যা হল শূন্য থেকে উপরের দিকে যাওয়া সংখ্যা। নেতিবাচক সংখ্যাও বিদ্যমান। ধনাত্মক এবং ঋণাত্মক সংখ্যা একটি সংখ্যা লাইনে উপস্থাপন করা যেতে পারে। নিম্নলিখিত সংখ্যা রেখাটি শূন্যের কাছাকাছি ধনাত্মক এবং ঋণাত্মক পূর্ণ সংখ্যা (পূর্ণসংখ্যা) দেখায়:

নেতিবাচক সংখ্যা শূন্য থেকে নিচের দিকে (বাম দিকে) হ্রাস পায়। অনেক পরিস্থিতিতে, শূন্যকে ইতিবাচক হিসাবে বিবেচনা করা হয়। যাইহোক, কিছু পরিস্থিতিতে এটি নেতিবাচক হিসাবে বিবেচিত হয়। সেজন্য শূন্যের সামনে একটি প্লাস এবং বিয়োগ চিহ্ন রয়েছে, নীচের সংখ্যায়, চিত্রে। যখন একটি সংখ্যা ধনাত্মক হয়, তখন তার চিহ্ন বাদ দেওয়া যেতে পারে; এটি ডায়াগ্রামে উপরের সংখ্যার ক্ষেত্রে। ঋণাত্মক সংখ্যার সামনের বিয়োগ চিহ্নটি কখনই বাদ দেওয়া হয় না।

3.2 বাইনারি সংখ্যার সংযোজন

উপরন্তু:

A + B = S

A কে বলা হয় augend, B কে যোগ করা হয় এবং S কে যোগফল বলা হয়।

ভিত্তি দুই-এ দুটি ধনাত্মক সংখ্যার নিম্নলিখিত যোগ বিবেচনা করুন:

বেস দুই-এ, একমাত্র সম্ভাব্য সংখ্যা হল 0 এবং 1। বেস 2-এ যোগ বেস দশের যোগের অনুরূপ, কিন্তু বেস দুই-এ দুটি হল এক-শূন্য (10)। যখন একটি কলামে দুটি বিটের যোগফল 10 হয়, তখন 0 লেখা হয় এবং 1 অবিলম্বে বাম কলামে নিয়ে যাওয়া হয়; সেখানে দুটি বিটের যোগফল যোগ করতে হবে। যখন মোট যোগফল তিন হয়, তখন এর মানে হল বেস দুই-এ 11। 11-এর মধ্যে ডান 1টি লেখা হয় এবং বাম 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 দিয়ে শুরু হয়, t সংখ্যাটি একটি ধনাত্মক সংখ্যা। যদি এটি 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, 1010, 1010, এবং 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 চিহ্নের জন্য প্রথম (বামতম) বিটটি উৎসর্গ করে। বিটগুলির “n” বিট প্রশস্ত গ্রুপের জন্য, 2টি রয়েছে n মোট ইতিবাচক এবং নেতিবাচক সংখ্যা। এটা 2 হবে n -1, এটা ভাগ্যবান শেষ (ছোটতম) নেতিবাচক সংখ্যা অন্তর্ভুক্ত না হলে. সর্বোচ্চ ধনাত্মক সংখ্যা হল +2 n-1 -1 এবং ক্ষুদ্রতম ঋণাত্মক সংখ্যা হল -2 n-1 -1। এটা হবে -2 n-1 -1, ভাগ্যবান না হলে -2 n-1 অন্তর্ভুক্ত

দুই এর পরিপূরক সংখ্যা বিয়োগ
বিয়োগে:

A – B = D

A কে বলা হয় মিনুয়েন্ড, B কে বলা হয় সাবট্রাহেন্ড এবং D কে পার্থক্য বলা হয়।

একটি ধনাত্মক বাইনারি সংখ্যাকে অন্য একটি ধনাত্মক বাইনারি সংখ্যা থেকে বিয়োগ করতে, মিনুএন্ডটি দুটির পরিপূরকটিতে লেখা হয় এবং সাবট্রাহেন্ডটি তার ঋণাত্মক দুটির পরিপূরক মানতে রূপান্তরিত হয়। সুতরাং, গাণিতিক বিবৃতি হয়:

A+ – B = D

অন্য কথায়, দুইটির পরিপূরক বিয়োগে, সাবট্রাহেন্ডটি একটি ঋণাত্মক সংখ্যায় রূপান্তরিত হয় এবং তারপর মিনুএন্ডে যোগ করা হয়।

উদাহরণ 3.31:
চারটি বিট ব্যবহার করে দুটির পরিপূরকটিতে নিম্নলিখিত দশমিক অভিব্যক্তিটি মূল্যায়ন করুন:

৬ – ৪

সমাধান:
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-এর বাইনারি সংখ্যা হল 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। 1110 সত্যিই দুইটির পরিপূরক যা -2 এর সমতুল্য কিনা তা দেখতে সারণি 3.32-এর সাথে পরামর্শ করা যেতে পারে।

3.4 বাইনারি সংখ্যার গুণ

বিবৃতিতে:

A x B = P

A কে গুণক বলা হয়, B কে গুণক বলা হয় এবং P কে গুণফল বলা হয়। A x B অভিব্যক্তির অর্থ হল A এবং B পূর্ণসংখ্যা (সম্পূর্ণ সংখ্যা) হলে A, B সংখ্যা বারবার যোগ করা।

বাইনারিতে গুণন দশমিকে গুণের সমান। তবে এটি দশমিকে না করে বাইনারিতে করা হয়। 42 x 10 এর দশমিক রাশির গুন বাইনারিতে নিম্নরূপ করা হয় যেখানে 42 10 = 101010 2 এবং 10 10 = 1010 2 :

যে 4টি সংখ্যা যোগ করা হয় তাকে আংশিক পণ্য হিসাবে আখ্যায়িত করা হয়। উত্তর হল পণ্য। আংশিক পণ্যের সংযোজন একইভাবে করা হয় যেমনটি পূর্বে ব্যাখ্যা করা হয়েছে।

গুণকে নিম্নরূপও দেখা যেতে পারে: এই বেস দুটি গুণে, গুণকের বিট (অঙ্ক) 1 হলে, এর আংশিক গুণফলের সর্বনিম্ন উল্লেখযোগ্য বিটটি গুণকের সর্বনিম্ন উল্লেখযোগ্য বিট যা সরাসরি এটির নীচে পুনরায় টাইপ করা হয়; এবং গুণের বাকি বিটগুলি বাম দিকে পুনরাবৃত্তি হয়। এই বেস দুই গুণে, গুণকের বিট (ডিজিট) যদি 0 হয়, তবে এর আংশিক গুণফলটি 0 এর নিচে 0 এর সর্বনিম্ন উল্লেখযোগ্য বিট নিয়ে গঠিত। সমস্ত শূন্যের সংখ্যা হল গুণক বিটের সংখ্যা।

3.5 বাইনারি সংখ্যার বিভাগ

বিবৃতিতে:

A÷ B = Q

A কে লভ্যাংশ বলা হয়, B কে ভাজক বলা হয় এবং P কে ভাগফল বলা হয়। ভাগফল একটি অবশিষ্টাংশ দ্বারা অনুষঙ্গী হতে পারে. A ÷ B রাশির অর্থ হল A দিতে কতবার B যোগ করা যেতে পারে বা এটির কাছাকাছি হতে পারে যাতে অবশিষ্টাংশ B এর থেকে 0 বা কম হয়।

বিভাজন অনেক উপায়ে করা যেতে পারে। এখানে যে বিভাগটি দেখানো হয়েছে তা হল পুনরুদ্ধার বিভাগ।

বিভাগ পুনরুদ্ধার করা
এটি হল দীর্ঘ বিভাগ পদ্ধতি যা স্কুলগুলিতে শেখা হয়। 237 কে 6 দিয়ে ভাগ করলে উত্তর হবে 39টি অবশিষ্ট 3। 237 10 বেস 2-এ হল 11101101 2 এবং 6 10 বেস 2-এ হল 110 2 . ৩৯ 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 মাইক্রোপ্রসেসরে লজিক অপারেশন

এবং, বা, XOR, এবং উল্টানো

এবং
নিচের টেবিলটি Bitwise AND চিত্রিত করে। এর মানে হল যে দুটি ভিন্ন বাইনারি সংখ্যার জন্য, সংশ্লিষ্ট বিটগুলি AND Truth টেবিলের উপর ভিত্তি করে ANDed করা হয়েছে:

বাম থেকে ডানে সরানো, 1 AND 1 = 1; 0 এবং 1 = 0; 0 এবং 0 = 0; 1 এবং 0 = 0; এবং তাই এবং সত্য সারণী অনুযায়ী.

বা
নিচের সারণীটি Bitwise OR চিত্রিত করে। এর মানে হল যে দুটি ভিন্ন বাইনারি সংখ্যার জন্য, সংশ্লিষ্ট বিটগুলি OR Truth টেবিলের উপর ভিত্তি করে ORed করা হয়:

বাম থেকে ডানে সরানো, 1 বা 1 = 1; 0 বা 1 = 1; 0 বা 0 = 0; 1 বা 0 = 1; এবং তাই OR সত্য সারণী অনুযায়ী.

বিনামূল্যে
নিচের সারণীটি বিটওয়াইজ এক্সক্লুসিভ-OR-কে চিত্রিত করে। এর মানে হল যে দুটি ভিন্ন বাইনারি সংখ্যার জন্য, সংশ্লিষ্ট বিটগুলি XOR Truth টেবিলের উপর ভিত্তি করে XORed হয়:

বাম থেকে ডানে সরানো, 1 XOR 1 = 0; 0 XOR 1 = 1; 0 XOR 0 = 0; 1 XOR 0 = 1; এবং তাই XOR সত্য সারণী অনুসারে।

উল্টানো (না)
নিচের টেবিলটি Bitwise 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 বিট দ্বারা প্রতিনিধিত্ব করা হয় যা তালিকায় দেখানো হয় না। উদাহরণস্বরূপ, 'N' এর বড় হাতের অক্ষরটি বেস 2-এ সাতটি বিট 1001110 দ্বারা উপস্থাপিত হয়। 1001110 রূপান্তর করতে 2 বেস 16-এ, এর আগে 0 এবং ফলাফলকে চার-বিট সাবগ্রুপে নিম্নরূপ গ্রুপ করুন:

| 0100 | 1110 | 2 = | 4 | ই | 16

সেটা হল 01001110 2 = 4ই 16 . 4E রূপান্তর করতে 16 বেস টেন করতে, নিম্নলিখিতগুলি করুন:

4 x (16) 1 + ই x (16) 0 = 4 x 16 + E x 1 = 4 x 16 + 14 x 1 = 64 + 14 = 78 10

তালিকার (টেবিল) “N”-এর ডানদিকে 4E-এর হেক্সাডেসিমেল সংখ্যা এবং 78-এর দশমিক সংখ্যা।

আরেকটি উদাহরণ হিসাবে, “[“ অক্ষরটি বেস 2-এ সাতটি বিট 1011011 দ্বারা উপস্থাপিত হয়। 1011011 রূপান্তর করতে 2 বেস 16-এ, এর আগে 0 এবং ফলাফলকে চার-বিট সাবগ্রুপে নিম্নরূপ গ্রুপ করুন:

| 0101 | 1011 | 2 = | 5 | খ | 16

সেটা হল 01011011 2 = 5B 16 . 5B16 কে বেস টেনে রূপান্তর করতে, নিম্নলিখিতগুলি করুন:

5 x (16) 1 + B x (16) 0 = 5 x 16 + B x 1 = 5 x 16 + 11 x 1 = 80 + 11 = 91 10

তালিকায় (সারণী) “[“ এর ডানদিকে 5B-এর হেক্সাডেসিমেল সংখ্যা এবং 91-এর দশমিক সংখ্যা।

আরেকটি উদাহরণ হিসাবে, '5' এর দশমিক সংখ্যার অক্ষরটি বেস 2-এ সাতটি বিট 0110101 দ্বারা উপস্থাপিত হয় এবং না বেস 2-এ 0000101। 0110101 রূপান্তর করতে 2 বেস 16-এ, এর আগে 0 এবং ফলাফলকে চার-বিট সাবগ্রুপে নিম্নরূপ গ্রুপ করুন:

| 0011 | 0101 | 2 = | 5 | খ | 16

সেটা হল 00110101 2 = 35টি 16 . 3516 কে বেস টেনে রূপান্তর করতে, নিম্নলিখিতগুলি করুন:

3 x (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 এর দশমিক সংখ্যা।

যেহেতু কম্পিউটার বাইটে কাজ করে, আদর্শ কীবোর্ডের একটি কী চাপলে আটটি বিট মাইক্রোপ্রসেসরে (মাদারবোর্ড) পাঠানো হয়। আদর্শ কীবোর্ড হল একটি পেরিফেরাল যা কম্পিউটারের সিস্টেম (বেস) ইউনিট থেকে আলাদা। এটিতে একটি ইলেকট্রনিক সার্কিট (IC) রয়েছে যা সাতটি বিট তৈরি করে এবং এটিকে তার তারের মাধ্যমে সিস্টেম ইউনিটের মাদারবোর্ডে পাঠানোর আগে একটি শূন্য দিয়ে এটির আগে থাকে। মাদারবোর্ডের ইনপুট পোর্ট (ইনপুট সার্কিট) থেকে এটি মাইক্রোপ্রসেসরে যায় যা মাদারবোর্ডেও থাকে। মাইক্রোপ্রসেসর থেকে এটি মেমরিতে যায় যা মাদারবোর্ডেও লাগানো থাকে।

সুতরাং, আদর্শ কীবোর্ডের 'N' কী টিপলে, 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 x 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 x 2 +5 = 100100.011 2

32-বিট ফ্লোটিং পয়েন্ট উপস্থাপনা সহ, এটি হল “1.00100011 2 x 2 +5 ' যেটি ব্যবহৃত হয় এবং শুধুমাত্র '100100.011' নয় 2 ” বেস জন্য 2 রেকর্ড করা হয় না. “1.00100011-এর জন্য 32-বিট ফ্লোটিং পয়েন্ট উপস্থাপনা 2 x 2 +5 ” সংখ্যা, যা 36.375 এর সমান 10 = 100100.011 2 , নিম্নলিখিত টেবিলে দেখানো হয়েছে:

32-বিট পজিশন আছে যা ডান প্রান্ত থেকে সংখ্যা করা হয়, 0 থেকে শুরু হয়। বাম প্রান্তের প্রথম বিটটি সাইন বিট। সংখ্যাটি ধনাত্মক হলে, এই বিটটি 0। সংখ্যাটি ঋণাত্মক হলে, এই বিটটি 1 (-1 দুটি অক্ষর নিয়ে গঠিত এবং কোনো একটি ঘরে রাখা যাবে না)। 1.00100011 2 x 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 = 01111111111 2 .
  • স্পষ্ট তাৎপর্যের জন্য এগারো বিট 52 বিট দ্বারা অনুসরণ করা হয়।
  • এটিতে 32-বিট বিন্যাসের তুলনায় সংখ্যার বিস্তৃত পরিসর রয়েছে।

উল্লেখ্য যে '1।' যেটি তাৎপর্যের শুরুতে রয়েছে এবং এখনও 64 বিটের মধ্যে অন্তর্ভুক্ত করা হয়নি, ঠিক যেমন এটি 32-বিট বিন্যাসের জন্য 32 বিটের মধ্যে অন্তর্ভুক্ত নয়।

64-বিট বিন্যাস এবং 32-বিট বিন্যাসের মধ্যে সবচেয়ে গুরুত্বপূর্ণ পার্থক্যগুলির মধ্যে একটি হল যে 64-বিট বিন্যাসে ধারাবাহিক মিশ্র ভগ্নাংশের মধ্যে পার্থক্য 32-বিট বিন্যাসের তুলনায় ছোট।

64-বিট বিন্যাসে, 1.0 এবং পরবর্তী মিশ্র ভগ্নাংশের মধ্যে ব্যবধান (ব্যবধান) নিম্নরূপ গণনা করা যেতে পারে:

1.0 হল

0 011111111111 000000000000000000000 000000000000 2

এটি '1'-এর সমতুল্য, যা স্ট্রিং-এ নির্দেশিত হয়নি, 2 দ্বারা গুণিত করা হয়েছে পাওয়ার (সূচক) 0 (সহ সূচকটি 1023) 10 = 01111111111 2 ২জনের জন্য 0 = 1)। স্ট্রিং হল 1.0 x 2 0 .

1.0 এর চেয়ে বড় পরবর্তী মিশ্র ভগ্নাংশ হল:

0 01111111111 00000000000000000000 00000000000000000 2

এটি '1' এর সমতুল্য। যেটি স্ট্রিং-এ নির্দেশিত নয়, তার পরে 51টি শূন্য, এবং তারপর 1, 2 দিয়ে গুণ করে 0 শক্তিতে উত্থাপিত হয় (যার সূচকটি 1023) 10 = 011111111112 2 ২জনের জন্য 0 = 1)। এটি একই রকম:

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

≈ মানে প্রায় সমান।

এখন:

1.000000000000002 – 1.0 ≈ 0.0000000000000002

একটি 32-বিট বিন্যাসের জন্য সংশ্লিষ্ট ব্যবধানের মান হল 0.0000001192092896 ≈ 0.00000012।

0.0000000000000002 0.00000012 এর চেয়ে অনেক ছোট। সুতরাং, 32-বিট বিন্যাসের জন্য পরপর দুটি পূর্ণসংখ্যার মধ্যে 64-বিট বিন্যাসে দুটি পরপর পূর্ণসংখ্যার (যেমন 3 এবং 4) মধ্যে অনেক বেশি মিশ্র ভগ্নাংশ রয়েছে।

সংখ্যা রেখায় পরপর দুটি পূর্ণসংখ্যার মধ্যে মিশ্র ভগ্নাংশের সংখ্যা অসীম। সুতরাং, কোনো বিন্যাস (যেমন 32-বিট বা 64-বিট) যেকোনো দুটি পরপর পূর্ণসংখ্যার (সম্পূর্ণ সংখ্যা) মধ্যে সমস্ত মিশ্র ভগ্নাংশ প্রদান করতে পারে না। একটি বিন্যাস দ্বারা প্রদত্ত পরপর দুটি পূর্ণসংখ্যার মধ্যে ব্যবধান (ব্যবধান) যত কম হবে (যেমন 32-বিট বা 64-বিট), পরপর পূর্ণসংখ্যার মধ্যে মিশ্র ভগ্নাংশের সংখ্যা (সংখ্যা রেখার জন্য) তত বেশি হবে।

32-বিট বিন্যাসের তুলনায় 64-বিট বিন্যাসকে দ্বিগুণ বা উচ্চতর নির্ভুলতা হিসাবে বর্ণনা করার কারণগুলি হল যে 64-বিট বিন্যাসের জন্য দুটি পরপর পূর্ণসংখ্যা দ্বারা আবদ্ধ দুটি পরপর মিশ্র ভগ্নাংশের মধ্যে ব্যবধানটি সংশ্লিষ্ট 32-এর চেয়ে ছোট। -বিট ফরম্যাটের ব্যবধান। এছাড়াও, 32-বিট বিন্যাসের জন্য অনুরূপভাবে 64-বিট বিন্যাসের জন্য দুটি আবদ্ধ পূর্ণসংখ্যার মধ্যে আরও বেশি সম্ভাব্য মিশ্র ভগ্নাংশ রয়েছে।

দশমিক সংখ্যার একটি দশমিক অংশ (ভগ্নাংশ) একটি বাইনারি অংশে রূপান্তর করা
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 কেজির মতো কে (ছোট হাতের) তে সংক্ষেপিত হয়। কম্পিউটিং, 1 কিলো মানে 2 10 = 1024, কিন্তু 1Kbits-এর মতো K (বড় হাতের) তে সংক্ষেপিত। স্বাভাবিক জীবনে, 1 মেগা মানে 1,000,000 যা 1Mg-এর মতো M (বড় হাতের) তে সংক্ষেপিত হয়। কম্পিউটিং, 1 মেগা মানে 2 বিশ = 1,048,576 = 2 10 x 2 10 = 1024 x 1024 = 1,048,576 এবং এখনও 1Mbits-এর মতো M (বড় হাতের অক্ষরে) সংক্ষেপিত। স্বাভাবিক জীবনে, 1 গিগা মানে 1,000,000,000 সংক্ষেপে G (বড় হাতের) 1Gg এর মতো। কম্পিউটিংয়ে, 1 গিগা মানে 2 30 = 1,073,741,824 = 2 10 x 2 10 x 2 10 = 1024 x 1024 x 1024 = 1,073,741,824 এবং এখনও 1Gbits-এর মতো G (বড় হাতের অক্ষরে) সংক্ষেপিত। নিম্নলিখিত টেবিলটি স্বাভাবিক জীবনে এবং কম্পিউটিংয়ে চারটি উপসর্গের অর্থ দেয়:

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, Invert, Shift Right, Shift Left, Rotate Right, এবং Rotate Left-কে বোঝাতে আপনার পছন্দের 8-বিট ব্যবহার করুন। প্রতিটি বাইটে 1 এবং 0 এর মিশ্রণ থাকা উচিত।
  7. ক) হেক্সাডেসিমেল, বাইনারি এবং দশমিকে শূন্যের ASCII অক্ষরের জন্য সাংখ্যিক কোড লিখুন।
    খ) হেক্সাডেসিমেল, বাইনারি এবং দশমিকে “1” এর ASCII অক্ষরের জন্য সাংখ্যিক কোড লিখুন।
    গ) হেক্সাডেসিমেল, বাইনারি এবং দশমিকে 'A' এর ASCII অক্ষরের জন্য সাংখ্যিক কোড লিখুন।
    d) হেক্সাডেসিমেল, বাইনারি এবং দশমিকে 'a' এর ASCII অক্ষরের জন্য সাংখ্যিক কোড লিখুন।
  8. 49.49 রূপান্তর করুন 10 বেস দুই মধ্যে. আপনার ফলাফলকে IEEE 32-বিট ফ্লোটিং পয়েন্ট ফরম্যাটে রূপান্তর করুন।
  9. ক) IEEE 64-বিট ফ্লোটিং পয়েন্ট ফরম্যাট কিভাবে 32-বিট ফরম্যাট থেকে আলাদা?
    খ) 64-বিট ফরম্যাটটিকে কেন দ্বিগুণ বা উচ্চতর নির্ভুলতা হিসাবে বর্ণনা করা হয়েছে তার দুটি সম্পর্কিত কারণ দিন
    32-বিট বিন্যাস।