সংখ্যা পদ্ধতি ও ডিজিটাল ডিভাইস

বাইনারি, বুলিয়ান অ্যালজেবরা ও লজিক গেট

০%

০/৬ পাঠ শেষ

পাঠ

সংখ্যা পদ্ধতি ও রূপান্তর

পাঠ ১ / ৬

সংখ্যা পদ্ধতি ও রূপান্তর

বাইনারি, অক্টাল, ডেসিমেল ও হেক্সাডেসিমেল।

  • ভিত্তি হলো ব্যবহৃত মোট অঙ্কের সংখ্যা: ২, ৮, ১০ ও ১৬।
  • একটি অক্টাল অঙ্কে ৩ বিট, একটি হেক্সা অঙ্কে ৪ বিট লাগে।
  • ডেসিমেল থেকে অন্য ভিত্তিতে যেতে ভিত্তি দিয়ে বারবার ভাগ করো।

এই পাঠের ভিডিও ও ক্লাস রেকর্ডিং শিগগির যুক্ত হবে।

(156)10 কে বাইনারি ও হেক্সায় রূপান্তর

  1. 156 ÷ 2 = 78, ভাগশেষ 0
  2. 78 ÷ 2 = 39, ভাগশেষ 0
  3. 39 ÷ 2 = 19, ভাগশেষ 1
  4. 19 ÷ 2 = 9, ভাগশেষ 1
  5. 9 ÷ 2 = 4, ভাগশেষ 1
  6. 4 ÷ 2 = 2, ভাগশেষ 0
  7. 2 ÷ 2 = 1, ভাগশেষ 0
  8. 1 ÷ 2 = 0, ভাগশেষ 1
  9. নিচ থেকে ওপরে পড়ে (10011100)2
  10. ৪ বিট করে: 1001 = 9, 1100 = C, তাই (9C)16

ইন্টারঅ্যাকটিভ ল্যাব

বিট ল্যাব

বিটে চাপ দাও। সব সংখ্যা পদ্ধতি একসঙ্গে বদলাবে।

128
64
32
16
8
4
2
1
ডেসিমেল
45
অক্টাল
55
হেক্সা
2D

চ্যাপ্টার নোট

  • ভিত্তি হলো ব্যবহৃত মোট অঙ্কের সংখ্যা: ২, ৮, ১০ ও ১৬।
  • একটি অক্টাল অঙ্কে ৩ বিট, একটি হেক্সা অঙ্কে ৪ বিট লাগে।
  • ডেসিমেল থেকে অন্য ভিত্তিতে যেতে ভিত্তি দিয়ে বারবার ভাগ করো।

উদাহরণ

(156)10 কে বাইনারি ও হেক্সায় রূপান্তর

  1. 156 ÷ 2 = 78, ভাগশেষ 0
  2. 78 ÷ 2 = 39, ভাগশেষ 0
  3. 39 ÷ 2 = 19, ভাগশেষ 1
  4. 19 ÷ 2 = 9, ভাগশেষ 1
  5. 9 ÷ 2 = 4, ভাগশেষ 1
  6. 4 ÷ 2 = 2, ভাগশেষ 0
  7. 2 ÷ 2 = 1, ভাগশেষ 0
  8. 1 ÷ 2 = 0, ভাগশেষ 1
  9. নিচ থেকে ওপরে পড়ে (10011100)2
  10. ৪ বিট করে: 1001 = 9, 1100 = C, তাই (9C)16

বিস্তারিত

সংখ্যা পদ্ধতি হলো সংখ্যা লেখার নিয়ম। পজিশনাল পদ্ধতিতে অঙ্কের মান তার অবস্থানের ওপর নির্ভর করে, যেমন 555 সংখ্যার তিনটি 5 এর মান আলাদা। রোমানের মতো নন-পজিশনাল পদ্ধতিতে তা হয় না।

কম্পিউটারের সার্কিট শুধু চালু ও বন্ধ, এই দুই অবস্থা বোঝে। তাই কম্পিউটারে বাইনারি ব্যবহৃত হয়। অক্টাল ও হেক্সাডেসিমেল লম্বা বাইনারি সংখ্যাকে ছোট করে লেখার সুবিধা দেয়।

কোনো সংখ্যাকে ডেসিমেলে আনতে প্রতিটি অঙ্ককে তার স্থানীয় মান দিয়ে গুণ করে যোগ করতে হয়। ডেসিমেল থেকে অন্য ভিত্তিতে নিতে পূর্ণ অংশকে ভিত্তি দিয়ে বারবার ভাগ এবং ভগ্নাংশকে বারবার গুণ করতে হয়।

বাইনারি থেকে অক্টাল করতে বিন্দু থেকে ৩ বিট করে, হেক্সাডেসিমেল করতে ৪ বিট করে ভাগ করতে হয়। অক্টাল ও হেক্সার মধ্যে সরাসরি না গিয়ে বাইনারি হয়ে যাওয়া সবচেয়ে সহজ।

শব্দ

ভিত্তি
পদ্ধতিতে ব্যবহৃত মোট মৌলিক অঙ্কের সংখ্যা।
বিট
Binary Digit, ডেটার ক্ষুদ্রতম একক।
নিবল
৪ বিটের সমষ্টি।
বাইট
৮ বিটের সমষ্টি।
MSB ও LSB
সবচেয়ে বামের ও সবচেয়ে ডানের বিট।

টেবিল

চারটি সংখ্যা পদ্ধতি

পদ্ধতিভিত্তিঅঙ্কপ্রতি অঙ্কে বিট
বাইনারি20, 11
অক্টাল80–73
ডেসিমেল100–9BCD-তে 4
হেক্সাডেসিমেল160–9, A–F4

ভুল

  • ভাগশেষ ওপর থেকে নয়, নিচ থেকে ওপরে পড়তে হয়।
  • ভগ্নাংশ রূপান্তরে উল্টোটা: গুণের পূর্ণ অংশ ওপর থেকে নিচে পড়তে হয়।
  • ৩ বা ৪ বিটে ভাগ করার সময় পূর্ণ অংশে ডান থেকে, ভগ্নাংশে বাম থেকে গুনতে হয়।

টিপস

উত্তর মিলিয়ে দেখতে শেষ ফলকে আবার ডেসিমেলে আনো। বিট ল্যাবেও মিলিয়ে নিতে পারো।

  • সবচেয়ে বামের বিট 0 হলে ধনাত্মক, 1 হলে ঋণাত্মক।
  • ২-এর পরিপূরক: সব বিট উল্টে 1 যোগ করো।
  • ৮ বিটে পরিসর −128 থেকে +127।

উদাহরণ

২-এর পরিপূরকে 12 − 20 (৮ বিট)

  1. +12 = 00001100
  2. +20 = 00010100
  3. −20 এর জন্য উল্টাও: 11101011
  4. 1 যোগ করো: 11101100
  5. যোগ করো: 00001100 + 11101100 = 11111000
  6. MSB 1, তাই ফল ঋণাত্মক।
  7. মান বের করতে উল্টাও 00000111, 1 যোগ করে 00001000 = 8
  8. উত্তর −8

বিস্তারিত

কম্পিউটারে যোগ বা বিয়োগ চিহ্ন লেখার জায়গা নেই, তাই একটি বিটকেই চিহ্ন হিসেবে ধরা হয়। এটি হলো সবচেয়ে বামের বিট বা MSB। 0 মানে ধনাত্মক, 1 মানে ঋণাত্মক।

ঋণাত্মক সংখ্যা রাখার তিনটি পদ্ধতি আছে: চিহ্ন ও মান, ১-এর পরিপূরক এবং ২-এর পরিপূরক। আধুনিক কম্পিউটারে ২-এর পরিপূরক ব্যবহৃত হয়।

২-এর পরিপূরকের সবচেয়ে বড় সুবিধা হলো যোগের সার্কিট দিয়েই বিয়োগ করা যায়, কারণ A − B মানে A + (−B)। তা ছাড়া শূন্যের একটিই রূপ থাকে।

n বিটে ২-এর পরিপূরকের পরিসর −2n−1 থেকে +2n−1 − 1। ফল এই সীমার বাইরে গেলে ওভারফ্লো হয় এবং ভুল মান আসে।

শব্দ

সাইন বিট
চিহ্ন বোঝানো বিট, সবচেয়ে বামে থাকে।
১-এর পরিপূরক
সব বিট উল্টে দেওয়া।
২-এর পরিপূরক
১-এর পরিপূরকের সঙ্গে 1 যোগ করা।
ওভারফ্লো
ফল নির্দিষ্ট বিটের পরিসরের বাইরে যাওয়া।

টেবিল

৮ বিটে তিন পদ্ধতির তুলনা

পদ্ধতিপরিসরশূন্যের রূপ−5
চিহ্ন ও মান−127 থেকে +127দুটি10000101
১-এর পরিপূরক−127 থেকে +127দুটি11111010
২-এর পরিপূরক−128 থেকে +127একটি11111011

ভুল

  • ঋণাত্মক সংখ্যাকে আগে ধনাত্মকে ৮ বিটে লিখতে হয়, তারপর উল্টাতে হয়।
  • ৮ বিটের বাইরের ক্যারি ফেলে দিতে হয়, উত্তরের সঙ্গে রাখা যাবে না।
  • ১-এর পরিপূরকে 1 যোগ হয় না, ২-এর পরিপূরকে হয়।

টিপস

রেজিস্টারের বিট সংখ্যা প্রশ্নে বলা থাকে। সেই অনুযায়ী বামে শূন্য বসিয়ে শুরু করো।

  • BCD-তে প্রতিটি ডেসিমেল অঙ্ক ৪ বিটের।
  • ASCII-7 এ 128টি, ASCII-8 এ 256টি চিহ্ন।
  • ১৬ বিট ইউনিকোডে 65536টি চিহ্ন, বাংলাও আছে।

উদাহরণ

BCD ও বাইনারির পার্থক্য: 25

  1. BCD: 2 = 0010, 5 = 0101, তাই 0010 0101 (৮ বিট)
  2. সাধারণ বাইনারি: 25 = 16 + 8 + 1 = 11001 (৫ বিট)
  3. BCD-তে বেশি বিট লাগে, কিন্তু ডেসিমেলে ফেরানো সহজ।

বিস্তারিত

কম্পিউটার শুধু বিট বোঝে, তাই অক্ষর, অঙ্ক ও চিহ্নকে নির্দিষ্ট বিট বিন্যাসে প্রকাশ করতে হয়। একেই কোড বলে।

BCD-তে প্রতিটি ডেসিমেল অঙ্ক আলাদাভাবে ৪ বিটে লেখা হয়। এর স্থানীয় মান 8, 4, 2, 1, তাই একে 8421 কোড বলে। শুধু 0000 থেকে 1001 পর্যন্ত বৈধ।

আলফানিউমেরিক কোডে অক্ষর, অঙ্ক ও চিহ্ন সবই প্রকাশ করা যায়। ASCII, EBCDIC ও ইউনিকোড এর উদাহরণ। ASCII মূলত ৭ বিটের, EBCDIC ৮ বিটের এবং IBM মেইনফ্রেমে ব্যবহৃত।

ASCII মূলত ইংরেজির জন্য, তাই অন্য ভাষার অক্ষর রাখার জায়গা ছিল না। ইউনিকোড সেই সমস্যা সমাধান করে। শুরুর ১৬ বিটের ইউনিকোডে 65536টি চিহ্ন রাখা যায়, বাংলাও তার মধ্যে আছে।

শব্দ

BCD
Binary Coded Decimal।
ASCII
American Standard Code for Information Interchange।
EBCDIC
Extended Binary Coded Decimal Interchange Code।
প্যারিটি বিট
ভুল ধরার জন্য যোগ করা অতিরিক্ত বিট।

টেবিল

কোডের তুলনা

কোডবিটমোট চিহ্নকাজ
BCDপ্রতি অঙ্কে 410টি অঙ্কডেসিমেল অঙ্ক
ASCII-77128ইংরেজি অক্ষর ও চিহ্ন
ASCII-88256বর্ধিত চিহ্ন
EBCDIC8256IBM মেইনফ্রেম
ইউনিকোড1665536বিশ্বের নানা ভাষা

ভুল

  • BCD আর সাধারণ বাইনারি এক নয়।
  • 1010 থেকে 1111 বৈধ BCD নয়।
  • ASCII মান মনে রাখো: স্পেস 32, '0' = 48, 'A' = 65, 'a' = 97।

টিপস

ASCII-এর চারটি মান জানলে যেকোনো অক্ষরের মান গুনে বের করা যায়। যেমন 'D' = 65 + 3 = 68।

  • মূল অপারেশন তিনটি: AND, OR ও NOT।
  • ডি মরগান: (A + B)' = A'·B' এবং (A·B)' = A' + B'।
  • A + A' = 1 এবং A·A' = 0।

উদাহরণ

সরল করো: A · B + A · B'

  1. A সাধারণ নিয়ে পাই: A · (B + B')
  2. পূরক সূত্রে B + B' = 1
  3. তাই A · 1
  4. অভেদ সূত্রে উত্তর A

বিস্তারিত

জর্জ বুলের নামে এই গণিত। এতে চলকের মান শুধু দুটি: 0 বা 1, অর্থাৎ মিথ্যা বা সত্য। ডিজিটাল সার্কিট এই নিয়মেই চলে।

মূল অপারেশন তিনটি। OR হলো যৌক্তিক যোগ, AND হলো যৌক্তিক গুণ, আর NOT হলো পূরক। মনে রাখো, বুলিয়ান যোগে 1 + 1 = 1, কারণ এখানে কোনো ক্যারি নেই।

সার্কিটকে ছোট করতে বুলিয়ান সূত্র ব্যবহার করা হয়। কম গেট মানে কম খরচ ও দ্রুত কাজ। ডি মরগানের উপপাদ্য এখানে সবচেয়ে গুরুত্বপূর্ণ।

শব্দ

সত্যক সারণি
সব ইনপুট ও আউটপুটের মান দেখানো টেবিল। n ইনপুটে 2n সারি হয়।
পূরক
মান উল্টে দেওয়া। A' মানে A এর বিপরীত।

টেবিল

গুরুত্বপূর্ণ সূত্র

নামOR রূপAND রূপ
অভেদA + 0 = AA · 1 = A
প্রভাবকA + 1 = 1A · 0 = 0
সমশক্তিA + A = AA · A = A
পূরকA + A' = 1A · A' = 0
শোষণA + A · B = AA · (A + B) = A
ডি মরগান(A + B)' = A' · B'(A · B)' = A' + B'

ভুল

  • বুলিয়ান যোগে 1 + 1 = 1, কিন্তু বাইনারি যোগে 1 + 1 = 10।
  • ডি মরগানে চিহ্ন বদলায়: + হয় ·, আর · হয় +।

টিপস

ডি মরগান প্রমাণ করতে দুই পাশের সত্যক সারণি পাশাপাশি লিখে দেখাও যে সারি মিলে গেছে।

  • মৌলিক গেট: AND, OR ও NOT।
  • NAND ও NOR সর্বজনীন গেট, এদের দিয়ে যেকোনো গেট বানানো যায়।
  • XOR এর আউটপুট 1 হয় যখন ইনপুট দুটি ভিন্ন।

উদাহরণ

NAND দিয়ে NOT বানানো

  1. NAND এর দুই ইনপুটে একই সংকেত A দাও।
  2. আউটপুট = (A · A)'
  3. A · A = A, তাই আউটপুট A'
  4. এটিই NOT গেট।

বিস্তারিত

লজিক গেট হলো ডিজিটাল সার্কিটের ছোট ইলেকট্রনিক অংশ, যা বুলিয়ান অপারেশন করে। এক বা একাধিক ইনপুট নিয়ে একটি আউটপুট দেয়।

মৌলিক গেট তিনটি: AND, OR ও NOT। এদের জোড়া লাগিয়ে পাওয়া যায় NAND, NOR, XOR ও XNOR।

NAND ও NOR কে সর্বজনীন গেট বলা হয়, কারণ শুধু এদের যেকোনো একটি দিয়েই সব গেট বানানো যায়। তাই কারখানায় একই ধরনের গেট দিয়ে সার্কিট বানানো সহজ ও সস্তা হয়।

শব্দ

সর্বজনীন গেট
যা দিয়ে সব মৌলিক গেট বানানো যায়: NAND ও NOR।
XOR
ইনপুট ভিন্ন হলে আউটপুট 1।
XNOR
ইনপুট একই হলে আউটপুট 1।

টেবিল

গেটের সত্যক সারণি

ABANDORNANDNORXORXNOR
00001101
01011010
10011010
11110001

ভুল

  • XOR আর OR আলাদা। দুই ইনপুট 1 হলে OR দেয় 1, কিন্তু XOR দেয় 0।
  • NOT গেটে একটিই ইনপুট থাকে।

টিপস

সার্কিটের আউটপুট বের করতে বাম থেকে ডানে প্রতিটি গেটের আউটপুট আলাদা করে লিখে এগোও।

  • এনকোডার ও ডিকোডার কোড বদলায়।
  • হাফ অ্যাডার দুটি বিট যোগ করে, ফুল অ্যাডার ক্যারিসহ তিনটি বিট।
  • ফ্লিপ-ফ্লপ ১ বিট ধরে রাখে, রেজিস্টার ও কাউন্টার এর ওপর গড়া।

উদাহরণ

হাফ অ্যাডার কেন XOR ও AND দিয়ে হয়

  1. সারণিতে S এর কলাম XOR গেটের সঙ্গে হুবহু মেলে।
  2. C এর কলাম AND গেটের সঙ্গে হুবহু মেলে।
  3. তাই একটি XOR ও একটি AND গেট দিয়ে হাফ অ্যাডার হয়।

বিস্তারিত

গেট জোড়া লাগিয়ে বড় সার্কিট তৈরি হয়। এগুলো দুই ধরনের। কম্বিনেশনাল সার্কিটের আউটপুট শুধু বর্তমান ইনপুটের ওপর নির্ভর করে, যেমন অ্যাডার ও ডিকোডার। সিকোয়েন্সিয়াল সার্কিটের আউটপুট আগের অবস্থার ওপরও নির্ভর করে, যেমন ফ্লিপ-ফ্লপ।

এনকোডার 2n টি ইনপুট থেকে n টি আউটপুট দেয়, যেমন কিবোর্ডের চাপকে কোডে রূপান্তর। ডিকোডার ঠিক উল্টো, n ইনপুট থেকে 2n আউটপুট দেয়।

হাফ অ্যাডার দুটি বিট যোগ করে যোগফল ও ক্যারি দেয়। ফুল অ্যাডার আগের ক্যারিসহ তিনটি বিট যোগ করে। একাধিক ফুল অ্যাডার জুড়ে পুরো বাইনারি সংখ্যা যোগ করা হয়।

ফ্লিপ-ফ্লপ এক বিট মনে রাখে। অনেকগুলো ফ্লিপ-ফ্লপ মিলে রেজিস্টার ডেটা ধরে রাখে, আর কাউন্টার ঘড়ির সংকেত গোনে।

শব্দ

হাফ অ্যাডার
S = A ⊕ B, C = A · B
ফুল অ্যাডার
S = A ⊕ B ⊕ Cin, Cout = A · B + Cin · (A ⊕ B)
রেজিস্টার
অস্থায়ীভাবে ডেটা রাখার ফ্লিপ-ফ্লপের দল। n ফ্লিপ-ফ্লপে n বিট।
কাউন্টার
ক্লক সংকেত গোনার সার্কিট।

টেবিল

হাফ অ্যাডারের সত্যক সারণি

ABযোগফল (S)ক্যারি (C)
0000
0110
1010
1101

ভুল

  • হাফ অ্যাডারে আগের ক্যারি নেওয়া যায় না, তাই লম্বা যোগে ফুল অ্যাডার লাগে।
  • এনকোডার ও ডিকোডারের ইনপুট-আউটপুট সংখ্যা উল্টে ফেলো না।

টিপস

ফুল অ্যাডার দুটি হাফ অ্যাডার ও একটি OR গেট দিয়ে বানানো যায়। CQ-তে এই চিত্রটি অনুশীলন করে রাখো।