বাইনারি কোডেড ডেসিমেল বা BCD হলো এমন একটি সংখ্যা-উপস্থাপন পদ্ধতি যেখানে প্রতিটি দশমিক ডিজিটকে আলাদাভাবে ৪-বিট বাইনারি কোডে প্রকাশ করা হয়। অর্থাৎ দশমিক 0 থেকে 9 পর্যন্ত প্রতিটি সংখ্যার জন্য একটি নির্দিষ্ট বাইনারি মান থাকে, যা ডিজিটাল ডিভাইস সহজে শনাক্ত করতে পারে। মানুষের ব্যবহৃত দশমিক সংখ্যা এবং কম্পিউটারের ব্যবহৃত
বাইনারি ভাষার মাঝে একটি সেতুবন্ধন তৈরিই BCD-এর মূল উদ্দেশ্য। ডিজিটাল ঘড়ি, ক্যালকুলেটর, ট্যাক্সিমিটার, ডিজিটাল মিটার, ব্যাংকিং হিসাব-নিকাশ ও বিভিন্ন মাইক্রোকন্ট্রোলার ভিত্তিক সিস্টেমে BCD সবচেয়ে কার্যকরভাবে ব্যবহৃত হয়। কারণ এতে দশমিক তথ্যকে সঠিক ও নির্ভুলভাবে প্রদর্শন করা যায় এবং ভগ্নাংশভিত্তিক বাইনারি ভুলের সম্ভাবনা কমে যায়।
১. ভূমিকাঃ বাইনারি কোডেড ডেসিমেল (BCD) কী?
বাইনারি কোডেড ডেসিমেল বা BCD হলো এমন একটি সংখ্যা প্রদর্শন পদ্ধতি যেখানে প্রতিটি দশমিক অঙ্ককে আলাদাভাবে ৪-বিট বাইনারি কোডে প্রকাশ করা হয়। অর্থাৎ, 0–9 পর্যন্ত প্রতিটি দশমিক ডিজিটের জন্য একটি নির্দিষ্ট 4-bit বাইনারি মান থাকে। উদাহরণস্বরূপ,
-
দশমিক 5 = BCD 0101
-
দশমিক 9 = BCD 1001
সাধারণ বাইনারির থেকে BCD-এর প্রধান পার্থক্য হলো—BCD সংখ্যাকে সরাসরি মানুষের ব্যবহারযোগ্য দশমিক ভিত্তিক রূপে রাখে, কিন্তু অভ্যন্তরীণভাবে কম্পিউটার সহজে প্রক্রিয়া করতে পারে।
২. কেন BCD ব্যবহার করা হয়?
ডিজিটাল ডিভাইসগুলো সাধারণত বাইনারি পদ্ধতি ব্যবহার করে, কিন্তু অনেক ক্ষেত্রে দশমিক মানকে ঠিক যেমন আছে তেমনভাবে প্রদর্শন ও প্রক্রিয়া করা গুরুত্বপূর্ণ। যেমন—
-
ইলেকট্রনিক ক্যালকুলেটর
-
ডিজিটাল ঘড়ি
-
লিফট কন্ট্রোল সিস্টেম
-
মাইক্রোকন্ট্রোলারের ডিসপ্লে ইউনিট
-
ব্যাংকিং বা আর্থিক ডেটা প্রসেসিং
কারণ দশমিক ভগ্নাংশ বা আর্থিক হিসাব সাধারণ বাইনারিতে পর্যাপ্ত নির্ভুলতা দেয় না। তাই BCD একটি মধ্যবর্তী নিরাপদ, নির্ভুল ও সহজ প্রক্রিয়াকরণ পদ্ধতি।
৩. BCD কোডের ধরনসমূহ
BCD শুধু একটি কোড নয়; এর বিভিন্ন রূপ রয়েছে। নিচে কিছু প্রচলিত BCD কোড দেওয়া হলো:
৩.১ Pure BCD (Straight BCD)
এটি সবচেয়ে সরল রূপ। প্রতিটি দশমিক সংখ্যাকে তার স্বাভাবিক 4-বিট বাইনারি মানে রূপান্তর করা হয়।
৩.২ 8421 BCD Code
৩.৩ 2421 BCD Code
একের পর এক ডিজিট পরিবর্তনের ফলে ত্রুটি কমায়। ওজন 2, 4, 2, 1।
৩.৪ Excess-3 Code (XS-3)
৩.৫ Gray Code BCD
তথ্য প্রেরণে ত্রুটি কমাতে এক বিট করে পরিবর্তন হয়।
৪. BCD টেবিল (0–9)
| দশমিক | BCD (8421) |
|---|---|
| 0 | 0000 |
| 1 | 0001 |
| 2 | 0010 |
| 3 | 0011 |
| 4 | 0100 |
| 5 | 0101 |
| 6 | 0110 |
| 7 | 0111 |
| 8 | 1000 |
| 9 | 1001 |
৯ এর বেশি সংখ্যাগুলোর ক্ষেত্রে, প্রতিটি ডিজিট আলাদাভাবে encode করা হয়।
৫. BCD কে সাধারণ বাইনারিতে রূপান্তর
৫.১ ধাপঃ
-
দশমিক ডিজিটগুলো আলাদা করা
-
প্রতিটি ডিজিটের BCD রূপ নেওয়া
-
সব 4-বিট একত্র করা
৬. BCD থেকে দশমিক রূপান্তর
৭. BCD যোগ (BCD Addition)
উদাহরণঃ
৮. BCD সার্কিট—Adder, Encoder ও Decoder
৮.১ BCD Adder সার্কিট
এটি একটি বিশেষ সার্কিট যা বাইনারি যোগফলের উপর নির্ভর করে সংশোধন (Correction) করে।
৮.২ BCD Encoder
ইনপুট দশমিক → আউটপুট BCD
৮.৩ BCD Decoder
৯. BCD-এর সুবিধা
৯.১ মানুষের জন্য সহজপাঠ্য
দশমিক ভিত্তিতে কাজ করে বলে রূপান্তর সহজ।
৯.২ আর্থিক হিসাব নির্ভুল
ব্যাংকিং, মূল্য গণনা, টাকা-পয়সার হিসাব বাইনারিতে ত্রুটি সৃষ্টি করতে পারে। BCD এ সমস্যা নেই।
৯.৩ 7-সেগমেন্ট ডিসপ্লের জন্য আদর্শ
ডিসপ্লে ডিভাইসগুলোর জন্য BCD সবচেয়ে উপযোগী।
৯.৪ রূপান্তর ত্রুটি কম
বাইনারি ভগ্নাংশের নির্দিষ্ট ত্রুটি থাকে; BCD তা এড়ায়।
১০. BCD-এর অসুবিধা
১০.১ বেশি বিট লাগে
সাধারণ বাইনারির তুলনায় প্রায় ২০–২৫% বেশি মেমরি লাগে।
১০.২ গাণিতিক প্রক্রিয়া ধীর
Correction logic এর কারণে হিসাব ধীর হয়।
১০.৩ ডিজিটাল সার্কিট জটিল হয়
Adder ও অন্যান্য সার্কিটে অতিরিক্ত গেট প্রয়োজন।
১১. BCD বনাম Standard Binaryঃ পার্থক্য
| বিষয় | BCD | বাইনারি |
|---|---|---|
| মেমরি | বেশি লাগে | কম লাগে |
| গতি | ধীর | দ্রুত |
| নির্ভুলতা | উচ্চ | ভগ্নাংশে ত্রুটি থাকে |
| ব্যবহার | আর্থিক, ডিসপ্লে | সাধারণ কম্পিউটিং |
১২. কোথায় কোথায় BCD ব্যাপক ব্যবহৃত হয়?
১২.১ ডিজিটাল ঘড়ি
সময় (00–59) দশমিকভাবে দেখানোর জন্য BCD ব্যবহৃত হয়।
১২.২ ইলেকট্রিক মিটার
স্টেপ কাউন্টার ও ডিসপ্লেতে BCD অপরিহার্য।
১২.৩ ক্যালকুলেটর
প্রতিটি কীর চাপে ডিজিট আসে যা সরাসরি BCD আকার নেয়।
১২.৪ ATM ও ব্যাংকিং সিস্টেম
টাকার হিসাব BCD-তে রাখলে ত্রুটি কম হয়।
১২.৫ মাইক্রোকন্ট্রোলার
PIC, AVR, ARM এর অনেক মডিউলে BCD ভিত্তিক RTC (Real Time Clock) ব্যবহার করা হয়।
১২.৬ শিল্প কারখানা (Industrial Automation)
-
PLC
-
CNC Machine
-
Elevator Controller
-
Digital Counter
সবতখনই BCD কনভার্টার ব্যবহৃত হয়।
১৩. BCD এবং 7-Segment Display
একটি 7-segment ডিসপ্লে ঠিকঠাক চালাতে BCD কোডকে 7 লাইনে রূপান্তর করতে হয়। এই সার্কিটকে BCD to 7-segment Decoder বলা হয়।
প্রচলিত IC: 7447, 4511
১৪. Excess-3 Code: বিশেষ BCD রূপ
Excess-3 (XS3) হলো BCD-এর একটি Variation যেখানে প্রতিটি ডিজিটের সাথে 3 যোগ করা হয়।
Excess-3 এর সুবিধা
-
Self-Complementing Code
-
Error Detection সহজ
-
Arithmetic অপারেশন উন্নত
১৫. BCD Multiplication ও Division
-
Shift-and-Add Method
-
Double Dabble Algorithm
-
BCD Correction Logic
এগুলো বিশেষ ক্যালকুলেটর চিপে ব্যবহৃত হয়।
১৬. BCD থেকে অন্যান্য কোডে রূপান্তর
১৬.১ BCD → Gray Code
প্রথমে দশমিক বের করে Gray Code ম্যাপ করা হয়।
১৬.২ BCD → ASCII
Display ডিভাইস ও কীবোর্ড ইনপুটে ব্যবহৃত।
১৬.৩ BCD → Floating Point
IEEE 754 Decimal Floating Point-এ ব্যবহৃত হয়।
১৭. BCD Processor ও আর্কিটেকচার
অনেক পুরনো কম্পিউটার। যেমনঃ
-
IBM System/360
-
DEC PDP-8
-
UNIVAC
-
Intel x86: DAA, DAS, AAA
-
IBM Power6: Decimal Floating Point Unit
১৮. আধুনিক বিশ্বে BCD এর গুরুত্ব
যদিও Pure Binary দ্রুততর, তবুও BCD আজও অনেক ক্ষেত্রে অপরিহার্য:
১৮.১ Fintech
টাকার হিসাব কখনো ভুল হওয়া চলবে না, তাই BCD আদর্শ।
১৮.২ IoT ডিভাইস
Low-power Display Controller–এ BCD ব্যবহৃত হয়।
১৮.৩ Medical Equipment
ডিজিটাল রিডিং ও পরিমাপে নির্ভুলতা দরকার বলে BCD ব্যবহৃত হয়।
১৮.৪ Robotics
Counter ও Sensor রিডিংয়ে BCD সুবিধাজনক।
১৯. BCD এবং Decimal Floating Point
২০. ভবিষ্যতে BCD এর সম্ভাবনা
২০.১ AI ও Embedded Systems
Edge AI ডিভাইসগুলোতে BCD-ভিত্তিক timing ও counting logic থাকবে।
২০.২ Quantum-safe Financial Computing
আর্থিক ডেটা Decimal ভিত্তিক হওয়ায় BCD নিরাপদ।
২০.৩ Low-power Devices
নতুন IoT সেন্সরগুলোতে BCD ক্যালকুলেশন খুব কার্যকর।