Header Ads

Header ADS

কোড

কোডঃ

মানুষের সাথে ডিজিটাল বর্তনী সমূহের যোগাযোগের জন্য কোড পদ্ধতির উদ্ভব। যেমন মানুষ (ক, খ, গ, ঘ, ০, ১, ২, ৩ এবং A, B, C, D) ইত্যাদি আলফাবেটিক এবং নিউমেরিক ক্যারেকটারের সাথে পরিচিত কিন্তু ডিজিটাল বর্তনীসমূহ এরূপ আলফানিউমেরিক ক্যারেকটারের সাথে পরিচিত নয় বরং এগুলি বাইনারী সংখ্যা পদ্ধতি নিয়ে কাজ করে। তাই এই সকল আলফানিউমেরিক ক্যারেকটার সমূহকে ডিজিটাল বর্তনীসমূহের নিকট পরিচিত করানোর জন্য আলফা- নিউমেরিক ক্যারেকটার সমূহকে ডিজিটাল বর্তনীসমূহের বোধগম্য ভাষা বাইনারী সংখ্যা পদ্ধতিতে রূপান্তর করা প্রয়োজন। ইলেকট্রনিক সিস্টেমে ব্যবহৃত এরূপ প্রতিটি বর্ণ, সংখ্যা বা বিশেষ চিহ্নকে আলাদাভাবে ডিজিটাল বর্তনীকে বোঝানের জন্য বিটসমূহের বিভিন্ন বিন্যাসের মাধ্যমে অদ্বিতীয় সংকেত বা বাইনারী সংখ্যা তৈরী করা হয়। এরূপ অদ্বিতীয় বাইনারী সংখ্যাকে উক্ত তথ্যের (বর্ণ, সংখ্যা বা বিশেষ চিহ্ন) কোড বলা হয়। তথ্য রূপান্তরের এরূপ নীতি বা নিয়মকে কোড পদ্ধতি বলা হয়। তথ্য উপস্থাপন ছাড়াও বিভিন্ন যন্ত্রাংশের মধ্যে তথ্যের আদান প্রদান এবং প্রেরিত তথ্যের ত্রুটি নির্ণয় ও সংশোধনের জন্যও কোডিং পদ্ধতি ব্যবহার হয়। প্রয়োগক্ষেত্র এবং প্রয়োজনের উপর নির্ভর করে একাধিক কোডিং পদ্ধতির উদ্ভব হয়েছে।

 

কোড পদ্ধতির সুবিধাসমূহঃ

১। কম্পিউটার প্রয়োগের জন্য সুবিধাজনক। 

২। ডিজিটাল কমিউনিকেশনের জন্য সুবিধাজনক। 

৩। ডিজিটাল বর্তনীসমূহ ডিজাইন এবং বিশ্লেষণের জন্য সুবিধাজনক।

 

অক্টা‌ল কোডঃ

অক্টাল কোড তিন বিটের বাইনারি কোড অর্থাৎ ৩ বিট বিশিষ্ট বাইনারি কোডকে অক্টাল কোড বলা হয়। তিন বিটের অক্টাল কোডের সাহায্যে বড় ধরনের বাইনারি সংখ্যাকে সহজে সংক্ষিপ্ত সংকেত হিসেবে ব্যবহার করা যায়। ডিজিটাল কম্পিউটার এবং মাইক্রোপ্রসেসরের সাথে সংযোগের জন্য অক্টাল কোড ব্যবহৃত হয়। য‌েমনঃ 

(46)10 = (101110)2 = (56)8 

= 101110 (অক্টাল কোড)

 

হেক্সাডেসিম্যাল কোডঃ

হেক্সাডেসিমাল কোড হলো চার বিটের বাইনারি কোড অর্থাৎ ৪ বিট বিশিষ্ট বাইনারি কোডকে হেক্সাডেসিমাল কোড বলা হয়। চার বিটের হেক্সাডেসিমাল কোডের সাহায্যে বড় ধরনের বাইনারি সংখ্যাকে সহজে সংক্ষিপ্ত সংকেত হিসেবে ব্যবহার করা যায়। ডিজিটাল কম্পিউটার এবং মাইক্রোপ্রসেসরের সাথে সংযোগের জন্য অক্টাল কোড ব্যবহৃত হয়। য‌েমনঃ

(37)10  = (25)16 = 00100101

 

BCD বা 8421 কোডঃ

BCD এর পূর্ণরূপ Binary Coded Decimal, এই কোড পদ্ধতি বাইনারী বিট ও ডেসিম্যাল ডিজিটের মধ্যে সম্পর্ক সৃষ্টিকারী কোড এবং এই পদ্ধতিতে প্রতিটি ডেসিম্যাল ডিজিটকে এনকোড করার জন্য ৪ বিট বাইনারী সংখ্যা প্রয়োজন। উদাহরণসরূপঃ (35)10 কে BCD তে এনকোড করলে পাই (00110101)BCD যেখানে (35)10 এর সমতূল্য বাইনারী সংখ্যাটি (100011)হবে। উল্লেখিত উদাহরণটি হতে ইহা স্পষ্ট যে, কোন দশমিক সংখ্যাকে BCD কোডে রূপান্তর করতে সাধারণ বাইনারী রূপান্তরের তুলনায় অধিক সংখ্যক বিট প্রয়োজন।ডিজিটাল সিস্টেমে ইনপুট এবং আউটপুট অপারেশনে BCD কোড ব্যবহৃত হয়। BCD কোডটি 8421 কোড নামেও পরিচিত, কারণ BCD কোডের চারটি বিটের স্থানীয় মান 8, 4, 2, 1 এর মাধ্যমে প্রকাশিত হয়। BCD কোডের LSB এর মান 20 বা 1, পরবর্তী উচ্চতর গুরুত্ব সম্পন্ন বিটের মান 21 বা 2 পরবর্তী উচ্চতর বিটের মান 22 বা 4 এবং MSB এর মান 23 বা 8 । এ কারনে এটি একটি ওয়েটেড কোড এবং এই কোডে গাণিতিক অপারেটরের অপারেশন যেমনঃ যোগ, বিয়োগ ইত্যাদি করা সম্ভব।যেহেতু 0×8 + 1×4 + 0×2 + 1×1 = 5 সুতরাং আমরা বলতে পারি (0101)BCD এর প্রতিটি বিটের মাধ্যমে ডেসিম্যাল অংক 5 কে প্রতিস্থাপন করা যায়। যেহেতু BCD কোডে চারটি বাইনারী বিট ব্যবহার করা হয় সেহেতু বিটসমূহের বিন্যাসের মাধ্যমে সবোর্চ্চ 0 থেকে 15 পর্যন্ত দশমিক সংখ্যাসমূহ প্রকাশ করা সম্ভব। কিন্তু বাস্তবে BCD কোডের মাধ্যমে শুধুমাত্র 0 থেকে 9 পর্যন্ত দশমিক সংখ্যাসমূহকে প্রকাশ করা হয়। যদিও বাইনারী কোডসমূহ  1010, 1011, 1100, 1101, 1110, 1111 যথাক্রমে দশমিক সংখ্যা 10, 11, 12, 13, 14, 15 কে প্রকাশ করে তথাপি এই কোডসমূহ BCD পদ্ধতিতে ব্যবহৃত হয় না। সুতরাং এই ৬টি কোডসমূহকে বলা হয় নিষিদ্ধ কোড এবং ৬টি কোডের গ্রুপকে BCD পদ্ধতির নিষিদ্ধ গ্রুপ বলা হয়।

উদাহরণ-১: 589 দশমিক সংখ্যাটির সমতূল্য BCD কোড নির্ণয় কর।

সমাধানঃ সারণী হতে পাই 5 এর সমতূল্য BCD কোড 0101

8 এর সমতূল্য BCD কোড 1000

9 এর সমতূল্য BCD কোড 1001

এখানে 589 এর সমতূল্য BCD কোডসমূহ পর পর বসিয়ে পাই 010110001001 সুতরাং

(589)10  (010110001001)BCD

উদাহরণ-২: 69.27 দশমিক সংখ্যাটির সমতূল্য BCD কোড নির্ণয় কর। 

সমাধানঃ সারণী হতে পাই 6 এর সমতূল্য BCD কোড 0110

9 এর সমতূল্য BCD কোড 1001

2 এর সমতূল্য BCD কোড 0010

7 এর সমতূল্য BCD কোড 0111

এখানে 69.27 এর সমতূল্য BCD কোডসমূহ পর পর বসিয়ে পাই 01101001.00100111 সুতরাং (69.27)10 =(01101001.00100111)BCD 

 

84–2–1 কোডঃ

জন্যএই পদ্ধতিতে বাইনারী কোডের 2 এবং 1 পজিশনের বিটসমূহকে ঋণাত্বক ওয়েট দ্বারা গুণ করা হয়। যেমন 0101 কোড হতে পাওয়া যায় 0×8+1×4+0×(–2)+1×(–1)=3, এটি একটি বিশেষ ধরণের স্ব-পরিপূরক কোড যা বাইনারী কোডের 1’S কমপ্লিমেন্টকে দশমিক মানে রূপান্তর করলে যে মান পাওয়া যায় তা  উক্ত দশমিক অংকের 9’S কমপ্লিমেন্টকে প্রকাশ করে। 0101 এর 1’S কমপ্লিমেন্ট 1010 এবং 1010 হতে পাই 1×8+0×4+1×(–2)+0×(–1)=6 যা 3 এর 9’S কমপ্লিমেন্টকে প্রকাশ করে। এই পদ্ধতিটি দশমিক সংখ্যার গাণিতিক  অপারেশনের ক্ষেত্রে কার্যকরী।

 

2421 কোডঃ

এটি বিশেষ ধরনের ওয়েটেড কোড। 2421 কোডের মান 0 থেকে 4 পর্যন্ত সাধারণ BCD কোডের অনূরূপ কিন্তু 5 থকে 9 পর্যন্ত এর মান পরিবর্তন হয়। উদাহরণসরূপ 2421 কোডের ক্ষেত্রে বিট কম্বিনেশন 0100 এর দশমিক মান 4 কিন্তু 1101 এর দশমিক মান 7। এটি একটি স্ব-পরিপূরক কোড।

 

Gray কোডঃ

Gray কোড ওয়েটেড কোড নয়। এটি বিশেষ ধরণের রিফ্লেকটেড কোড। রিফ্লেকটেড প্রক্রিয়ায় সৃষ্ট বাইনারী কোডকে Gray কোড বলা হয়। এটি গাণিতিক অপারেশনে ব্যবহার সুধিাজনক নয় কিন্তু এনালগ টু ডিজিটাল কনভার্টার সার্কিটে এবং ইনপুট আউটপুট ডিভাইসে ব্যবহার সুবিধাজনক।

(0100) কে Gray কোডে রূপান্তরঃ

বাইনারি হতে গ্রে কোডে রূপান্তর

(0100)কে Gray কোডে রূপান্তর করতে হলে সর্ববামের বিটকে অপরিবর্তিত বামে রাখতে হবে। এরপর বামদিক হতে দুটি করে বিট যোগ করে যোগফল ডান দিকে পর পর বসাতে হবে। 

এখানে, (0100)= (0110)Gray

আবার (0110)Gray কে Binary সংখ্যায় রূপান্তরঃ

Gray কোডকে বাইনারীতে রূপান্তর করতে হলে Gray কোডের সর্ববামের বিট বা MSB কে বাইনারী সংখ্যার সর্ব বামে MSB হিসাবে বসাতে হবে। এরপর উক্ত MSB কে Gray কোডের পরবর্তী বিটের সাথে যোগ করে যোগফলকে বাইনারী সংখ্যার পরবর্তী বিট হিসাবে লিখতে হবে।প্রাপ্ত যোগফলকে Gray কোডের পরবর্তী বিটের সাথে যোগ করে যোগফলকে বাইনারী সংখ্যার পরবর্তী বিট হিসাবে লিখতে হবে।এভাবে চলবে শেষ পর্যন্ত ।অর্থাৎ (0110)Gray = (0100)2

 

ত্রুটি নির্ণয়ের কোডঃ

বাইনারী তথ্যসমূহ নানাবিধ প্রয়োজনে বিভিন্ন যোগাযোগ মাধ্যমে ( বেতার, অপটিক্যাল ফাইবার ইত্যাদি ) একস্থান হতে অন্যস্থানে প্রেরিত হয়।অনেক সময় এ সকল ভৌত যোগাযোগ মাধ্যমসমূহে বাহ্যিক নয়েজের উপস্থিতিতে ডাটা কোডসমূহ নয়েজ আক্রান্ত হয়ে মূল রূপ হতে পরিবর্তিত হয়ে ভুল আকারে রিসিভারে ধরা পরে, অর্থাৎ ডাটা কোডের 1 বিট 0 তে কিংবা 0 বিট 1 এ পরিণত হতে পারে।এই ত্রুটিসমূহ নির্ণয় করার জন্য ডাটা কোডের সাথে ত্রুটি নির্ণয়ের কোড ব্যবহার করা হয়।ত্রুটি নির্ণয়ের কোডের মাধ্যমে শুধু ত্রুটি নির্ণয় সম্ভব কিন্তু সংশোধন সম্ভব নয়।

প্যারিটি বিটঃ

প্যারিটি বিট ভুল নির্ণয়ের জন্য ব্যবহার হয়।প্যারিটি বিট Parity Bit একটি অতিরিক্ত বিট যা কোড গ্রুপের সাথে একস্থান হতে অন্যস্থানে প্রবাহিত হয়। মূল ডাটা কোডের সাথে বিশেষ নিয়মে প্যারিটি বিট সংযুক্ত করলে যে কোড পাওয়া যায় তাকে প্যারিটি চেকড্‌ কোড বলা হয়।প্যারিটি বিট 0 বা 1 এর যে কোন একটি হতে পারে, তবে এ বিষয়টি নির্ভর করে মূল কোডে কতগুলি 1 আছে তার উপর।প্যারিটি বিট দুই ধরণের হয়ে থাকেঃ

১। জোড় প্যারিটি (Even Parity) এবং 

২। বেজোড় প্যারিটি (Odd Parity)

জোড় প্যারিটিঃ

প্যারিটি বিটসহ কোড গ্রুপে জোড় সংখ্যক 1 থাকলে উক্ত কোড গ্রুপকে জোড় প্যারিটি বলা হয়।উদাহরণসরূপঃ মূল কোড 1011001 এ জোড় সংখ্যক 1 বিদ্যমান তাই একে জোড় প্যারিটি করতে হলে একটি অতিরিক্ত 0 যোগ করতে হবে অর্থাত প্যারিটি বিটসহ কোডটি 01011001 হবে।আবার মূল কোড 1001001 এ বেজোড় সংখ্যক 1 বিদ্যমান তাই একে জোড় প্যারিটি করতে হলে একটি অতিরিক্ত 1 যোগ করতে হবে অর্থাৎ প্যারিটি বিটসহ কোডটি 11001001 হবে।

বেজোড় প্যারিটিঃ

প্যারিটি বিটসহ কোড গ্রুপে বেজোড় সংখ্যক 1 থাকলে উক্ত কোড গ্রুপকে বেজোড় প্যারিটি বলা হয়। উদাহরণসরূপঃ মূল কোড 1011001 এ জোড় সংখ্যক 1 বিদ্যমান তাই একে বেজোড় প্যারিটি করতে হলে একটি অতিরিক্ত 1 যোগ করতে হবে অর্থাৎ প্যারিটি বিটসহ কোডটি 11011001 হবে।আবার মূল কোড 1001001 এ বেজোড় সংখ্যক 1 বিদ্যমান তাই একে বেজোড় প্যারিটি করতে হলে একটি অতিরিক্ত 0 যোগ করতে হবে অর্থাৎ প্যারিটি বিটসহ কোডটি 01001001 হবে। 

 

আলফানিউমেরিক কোডঃ

ডিজিটাল ইলেকট্রনিক্সের বিভিন্ন বর্তনীসমূহ এবং আধুনিক মাইক্রোকম্পিউটারের ব্যবহার শুধুমাত্র সংখ্যাগত ক্যারেকটারের মাঝে সীমিত নয় বরং তাতে বর্ণমালা, সংখ্যা, বিশেষ চিহ্ন ইত্যাদি প্রকাশ, মূদ্রণ ও প্রেরণের প্রয়োজনীয়তা দেখা দেয়। এ সকল চাহিদা পূরনের নিমিত্ত কম্পিউটারে বর্ণমালা, সংখ্যা, বিশেষ চিহ্ন ইত্যাদি প্রকাশ করার জন্য বিশেষ ধরণের এক বা একাধিক কোড পদ্ধতির প্রবর্তন হয়। এগুলিকে আলফানিউমেরিক কোড বলা হয়। আলফানিউমেরিক কোডসমূহের মাঝে প্রসিদ্ধ হলো ASCII কোড, EBCDIC কোড, Hollerith কোড, ইউনিকোড (Unicode) ইত্যাদি।

ASCII কোডঃ

ASCII এর পূর্ণরূপ হলো American Standard Code for Information Interchange, এটি বিশেষ ধরণের কোড পদ্ধতি যা অধিকাংশ মাইক্রো- কম্পিউটারে বর্ণমালা সংখ্যা ও বিশেষ চিহ্ন প্রকাশের জন্য ব্যবহৃত হয়। ১৯৬৫ সালে Robert William Bemer সাত বিটের ASCII কোড উদ্ভাবন করেন।এটি একটি বহুল প্রচলিত 7 বিট কোড, যার বাম দিকের তিনটি বিটকে জোন এবং ডান দিকের চারটি বিটকে সংখ্যাসূচক বিট ধরা হয়, তবে সর্ববামে একটি প্যারিটি বিট যোগ করে একে (ASCII – 8) আট বিট ASCII তে পরিণত করা হয়। এই কোডের 7 টি বিট দ্বারা 2= 128টি ক্যরেকটার প্রকাশ করা যায়। এর মধ্যে 32 টি কোড কন্ট্রোল্ড কোড হিসাবে সংরক্ষিত যা প্রিন্ট করা যায় না।

EBCDIC কোডঃ

EBCDIC এর পূর্ণরূপ (Extended Binary Coded Decimal Interchange Code)। এটি বিশেষ ধরণের আলফানিউমেরিক কোড যা IBM Mainframe যন্ত্রপাতি এবং বৃহৎ কম্পিউটিং সিস্টেম যা বিপুল পরিমান আলফানিউমেরিক ডাটা নিয়ে কাজ করে তাতে ব্যবহার হয়।এই কোড ASCII কোড হতে পৃথক। এই কোড পদ্ধতিতে আটটি (8) বিট ব্যবহার হয় এবং নবম বিটটি প্যারিটি বিট হিসাবে যোগ করা হয়। EBCDIC কোডে 0 থেকে 9 সংখ্যার জন্য 1111, A  থেকে  Z  বর্ণের জন্য 1100, 1101 ও 1110 এবং বিশেষ চিহ্নের জন্য 0100, 0101, 0110 ও 0111 জোন বিট হিসাবে ব্যবহার করা হয়।এই কোডের মাধ্যমে 28 = 256 টি বর্ণ, সংখ্যা ও বিশেষ চিহ্নকে কোডিং করা হয়েছে।

Hollerith কোডঃ

Hollerith কোডটি বিশেষ ভাবে পাঞ্চ কার্ডে ব্যবহৃত হয়।

ইউনিকোডঃ

১৯৯১ সাল‌ে Apple Computer Corporation এবং Xerox Corporation এর একদল প্রক‌ৌশলী য‌ৌথভাব‌ে ইউনিকোড উদ্ভাবন করেন। ব‌িশ্বের ছ‌োট বড় সকল ভাষাক‌ে কম্প‌িউটারে কোডভুক্ত করার জন‌্য ইউন‌িকোড ব্যবহৃত হয়। ইউন‌িকোড মূলতঃ ২ বাইট বা ১৬ ব‌িটের ক‌োড। এই ক‌োডের মাধ্যম‌ে ৬৫,৫৩৬ বা ১৬ ট‌ি অদ্বিতীয় চ‌িহ্নক‌ে নির্দ‌িষ্ট করা যায়। ফল‌ে যে সমস্ত ভাষাক‌ে কোডভুক্ত করার জন্য ৮ ব‌িট অপর্যাপ্ত ছ‌িল (য‌েমন- চায়ন‌িজ, ক‌োরিয়ান, জাপান‌ীজ ইত্যাদ‌ি) সে সেকল ভাষার সকল চিহ্নক‌ে সহজ‌েই ক‌োডভুক্ত করা সহজতর হল‌ো। বর্তমান‌ে এই কোডের প্রচলন শুরু হয়‌ে‌ছে। শুরু থ‌েকেই ইউন‌িকোডক‌ে আরও উন্নত করার লক্ষ্যে Unicode Consortium কাজ করে যাচ্ছ‌েন। এর ফলশ্রুত‌িতে ১৯৯৭ সাল‌ে ইউনিকোড ভার্সন ৩ ব‌ের হয়‌েছে। এই ক‌োডের ব্যবহার জনপ্রিয় করার জন্য মাইক্রোসফট, আইব‌িএম, এপল ইত্যাদ‌ি বড় বড় ক‌োম্পান‌ীগুল‌ো চ‌েষ্টা চালাচ্ছ‌ে। ইত‌োমধ্যে কিছু অপারেটিং স‌িস্ট‌েমও ত‌ৈরি হয়‌েছে যাত‌ে ইউনিকোড সার্প‌োট করে য‌েমন- Windows2000, OS/2 ইত্যাদ‌ি। অন‌েক পরে হল‌েও বাংলা ভাষাক‌ে ইউন‌িকোডভুক্ত করার জন্য বাংলাদ‌েশ সরকার Unicode Consortium এর সদস্য হয়‌েছ‌েন।

ইউন‌িকোডের সুব‌িধাঃ

১।  ইউন‌িকোড ২ বাইট বা ১৬ ব‌িটের ক‌োড ফল‌ে ২১৬ টি বা ৬৫,৫৩ওপ৬ ট‌ি অদ্বিতীয় চ‌িহ্নক‌ে নির্দ‌িষ্ট করা যায়।

২।  এই ক‌োডের সাহায্যে বিশ্বের ছ‌োট বড় সকল ভাষাক‌ে কম্প‌িউটারে কোডভুক্ত করা সহজ।

৩।  ইউন‌িকোড অ্যাসক‌ি কোডের সাথ‌ে কম্প্যাট‌িবল। অর্থাৎ ইউন‌িকোডের প্রথম ২৫৬ ট‌ি কোড অ্যাসক‌ি ২৫৬টি ক‌োডের অনুরূপ।

No comments

অ্যাপল জিনিয়াস স্টিভ ওজনিয়াকের মজার সব গল্প

স্টিভ ওজনিয়াক, অ্যাপলের প্রতিষ্ঠাতাদের একজন। তিনি ও স্টিভ জবস মিলে শূন্য থেকে গড়ে তুলেছিলেন আজকের টেক-জায়ান্ট প্রতিষ্ঠানটিকে। সম্প্রতি স...

Powered by Blogger.