বাইনারি কোডেড ডেসিমেল (BCD)

বাইনারি কোডেড ডেসিমেল বা BCD হলো এমন একটি সংখ্যা-উপস্থাপন পদ্ধতি যেখানে প্রতিটি দশমিক ডিজিটকে আলাদাভাবে ৪-বিট বাইনারি কোডে প্রকাশ করা হয়। অর্থাৎ দশমিক 0 থেকে 9 পর্যন্ত প্রতিটি সংখ্যার জন্য একটি নির্দিষ্ট বাইনারি মান থাকে, যা ডিজিটাল ডিভাইস সহজে শনাক্ত করতে পারে। মানুষের ব্যবহৃত দশমিক সংখ্যা এবং কম্পিউটারের ব্যবহৃত

বাইনারি ভাষার মাঝে একটি সেতুবন্ধন তৈরিই BCD-এর মূল উদ্দেশ্য। ডিজিটাল ঘড়ি, ক্যালকুলেটর, ট্যাক্সিমিটার, ডিজিটাল মিটার, ব্যাংকিং হিসাব-নিকাশ ও বিভিন্ন মাইক্রোকন্ট্রোলার ভিত্তিক সিস্টেমে BCD সবচেয়ে কার্যকরভাবে ব্যবহৃত হয়। কারণ এতে দশমিক তথ্যকে সঠিক ও নির্ভুলভাবে প্রদর্শন করা যায় এবং ভগ্নাংশভিত্তিক বাইনারি ভুলের সম্ভাবনা কমে যায়।

১. ভূমিকাঃ বাইনারি কোডেড ডেসিমেল (BCD) কী?

বাইনারি কোডেড ডেসিমেল বা BCD হলো এমন একটি সংখ্যা প্রদর্শন পদ্ধতি যেখানে প্রতিটি দশমিক অঙ্ককে আলাদাভাবে ৪-বিট বাইনারি কোডে প্রকাশ করা হয়। অর্থাৎ, 0–9 পর্যন্ত প্রতিটি দশমিক ডিজিটের জন্য একটি নির্দিষ্ট 4-bit বাইনারি মান থাকে। উদাহরণস্বরূপ,

  • দশমিক 5 = BCD 0101

  • দশমিক 9 = BCD 1001

যদি একটি সংখ্যা 25 হয়, তবে সেটি BCD-তে হবে:
2 → 0010
5 → 0101
অর্থাৎ: 25 → 0010 0101

সাধারণ বাইনারির থেকে BCD-এর প্রধান পার্থক্য হলো—BCD সংখ্যাকে সরাসরি মানুষের ব্যবহারযোগ্য দশমিক ভিত্তিক রূপে রাখে, কিন্তু অভ্যন্তরীণভাবে কম্পিউটার সহজে প্রক্রিয়া করতে পারে।

২. কেন BCD ব্যবহার করা হয়?

ডিজিটাল ডিভাইসগুলো সাধারণত বাইনারি পদ্ধতি ব্যবহার করে, কিন্তু অনেক ক্ষেত্রে দশমিক মানকে ঠিক যেমন আছে তেমনভাবে প্রদর্শন ও প্রক্রিয়া করা গুরুত্বপূর্ণ। যেমন—

  • ইলেকট্রনিক ক্যালকুলেটর

  • ডিজিটাল ঘড়ি

  • লিফট কন্ট্রোল সিস্টেম

  • মাইক্রোকন্ট্রোলারের ডিসপ্লে ইউনিট

  • ব্যাংকিং বা আর্থিক ডেটা প্রসেসিং

কারণ দশমিক ভগ্নাংশ বা আর্থিক হিসাব সাধারণ বাইনারিতে পর্যাপ্ত নির্ভুলতা দেয় না। তাই BCD একটি মধ্যবর্তী নিরাপদ, নির্ভুল ও সহজ প্রক্রিয়াকরণ পদ্ধতি।

৩. BCD কোডের ধরনসমূহ

BCD শুধু একটি কোড নয়; এর বিভিন্ন রূপ রয়েছে। নিচে কিছু প্রচলিত BCD কোড দেওয়া হলো:

৩.১ Pure BCD (Straight BCD)

এটি সবচেয়ে সরল রূপ। প্রতিটি দশমিক সংখ্যাকে তার স্বাভাবিক 4-বিট বাইনারি মানে রূপান্তর করা হয়।

৩.২ 8421 BCD Code

সবচেয়ে বেশি ব্যবহৃত কোড।
এখানে 4-বিটের ওজন 8, 4, 2, 1।

৩.৩ 2421 BCD Code

একের পর এক ডিজিট পরিবর্তনের ফলে ত্রুটি কমায়। ওজন 2, 4, 2, 1।

৩.৪ Excess-3 Code (XS-3)

প্রতিটি দশমিক সংখ্যার সাথে 3 যোগ করে 4-বিটে রূপান্তর করা হয়।
যেমন— 5 → 8 → 1000

৩.৫ Gray Code BCD

তথ্য প্রেরণে ত্রুটি কমাতে এক বিট করে পরিবর্তন হয়।

৪. BCD টেবিল (0–9)

দশমিকBCD (8421)
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001

৯ এর বেশি সংখ্যাগুলোর ক্ষেত্রে, প্রতিটি ডিজিট আলাদাভাবে encode করা হয়।

৫. BCD কে সাধারণ বাইনারিতে রূপান্তর

উদাহরণ: 57
BCD → 0101 0111
সাধারণ বাইনারি → 111001

৫.১ ধাপঃ

  1. দশমিক ডিজিটগুলো আলাদা করা

  2. প্রতিটি ডিজিটের BCD রূপ নেওয়া

  3. সব 4-বিট একত্র করা

৬. BCD থেকে দশমিক রূপান্তর

উদাহরণ: 0010 1001
→ প্রথম গ্রুপ: 2
→ দ্বিতীয় গ্রুপ: 9
অর্থাৎ: 29

৭. BCD যোগ (BCD Addition)

BCD যোগ সাধারণ বাইনারি যোগের মতো নয়।
৪-বিটের ফলাফল > 9 (1001) হলে, সেক্ষেত্রে ৬ (0110) যোগ করতে হয়।

উদাহরণঃ

8 (1000) + 5 (0101) = 1101 (13) → অবৈধ
৬ যোগ করি: 1101 + 0110 = 10011 → 0011 (Carry 1)
ফলাফল = 13

৮. BCD সার্কিট—Adder, Encoder ও Decoder

৮.১ BCD Adder সার্কিট

এটি একটি বিশেষ সার্কিট যা বাইনারি যোগফলের উপর নির্ভর করে সংশোধন (Correction) করে।

৮.২ BCD Encoder

ইনপুট দশমিক → আউটপুট BCD

৮.৩ BCD Decoder

BCD ইনপুট → 7-Segment Display আউটপুট
এটি আমাদের দৈনন্দিন ডিজিটাল ঘড়ি, স্কোরবোর্ড, ক্যালকুলেটরে ব্যবহৃত হয়।

৯. 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 যোগ করা হয়।

উদাহরণ:
Digit 4 → 4+3=7 → 0111
Digit 9 → 9+3=12 → 1100

Excess-3 এর সুবিধা

  • Self-Complementing Code

  • Error Detection সহজ

  • Arithmetic অপারেশন উন্নত

১৫. BCD Multiplication ও Division

গুণ ও ভাগ BCD-তে তুলনামূলক জটিল। বিশেষ অ্যালগরিদম ব্যবহার করতে হয়।
যেমন—

  • 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

BCD Arithmetic Instruction ব্যবহার করত।
আজও আধুনিক প্রসেসরে BCD Instruction থাকে, যেমন:

  • 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

আধুনিক উচ্চ-নির্ভুলতা হিসাবের জন্য IEEE 754-2008 Decimal Floating Point Standard BCD ভিত্তিক।
যেমন, ব্যাংকিং, বৈজ্ঞানিক গবেষণায় এটি ব্যবহৃত হয়।

২০. ভবিষ্যতে BCD এর সম্ভাবনা

২০.১ AI ও Embedded Systems

Edge AI ডিভাইসগুলোতে BCD-ভিত্তিক timing ও counting logic থাকবে।

২০.২ Quantum-safe Financial Computing

আর্থিক ডেটা Decimal ভিত্তিক হওয়ায় BCD নিরাপদ।

২০.৩ Low-power Devices

নতুন IoT সেন্সরগুলোতে BCD ক্যালকুলেশন খুব কার্যকর।

২১. উপসংহার

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

একটি মন্তব্য পোস্ট করুন

নবীনতর পূর্বতন