دهدهی به رمز دودویی



دهدهی به رمز دودویی(BCD) 
گرچه سیستم اعداد دستگاه اعداد دودویی دودویی طبیعی‌ ترین سیستم برای یک کامپیوتر است ولی بسیاری از مردم به سیستم ده‌دهی دهدهی عادت دارند یکی از راه حل‌های این مشکل تبدیل اعداد دهدهی به دودویی، اجرای همه محاسبات به دودویی و سپس تبدیل نتایج دودویی به دهدهی است. این روش لازم می‌دارد تا اعداد دهدهی را در کامپیوتر ذخیره کنیم تا بتوانند به دودویی تبدیل شوند.چون کامپیوتر فقط می‌تواند مقادیر دودویی را قبول کند،باید ارقام دهدهی را با کدی مرکب از ۱ها و ۰ها نشان دهیم.هنگامی که این ارقام به فرم کد شده در کامپیوتر ذخیره شوند می‌توان مستقیماً عملیات حسابی را روی این اعداد دهدهی اجرا نمود.

دهدهی به رمز دودویی رقم دهدهی

جدول بالا هر کد ۴ بیتی را به یک رقم دهدهی نسبت می‌دهد. یک عدد K رقمی در BCD به 4k بیت حافظه نیازمند است به عنوان مثال عدد ۳۹۶ در BCD با ۱۲ بیت به صورت ۰۰۱۱۱۰۰۱۰۱۱۰ نمایش داده می‌شود که در آن هر گروه ۴ بیتی نشان دهده یک رقم است. هرگاه عددی دهدهی در BCD بین ۰تا ۹ باشد با دودویی اش معادل است. هرچند که عدد BCD از ۰ها و ۱ها تشکیل شده است ولی یک عدد BCDبزرگتر از ۱۰ با عدد دودویی معادلش متفاوت است. به علاوه ترکیب دودویی ۱۰۱۰ تا ۱۱۱۱(که در جدول بالا نیست) در BCD مفهومی ندارند.

روش تبدیل عدد دهدهی به کد BCD

معادل دودویی (جدول بالا) ارقام، عدد مورد نظر را به ترتیب از ارزش مکانی بیشتر (چپ به راست) در کنار هم قرار می‌دهیم

به عنوان مثال، عدد ۶۵، معادل آن در سیستم تبدیل دهدهی به رمز دودویی(BCD) برابر است با کنار هم قرار دادن دو عدد ۰۱۰۱(۵ در مبنای ۲) و عدد ۰۱۱۰(۶در مبنای ۲)

عدد۶۵ در سیستم ایجاد دهدهی به رمز دودویی(BCD) برابر است با: ۰۱۱۰ ۰۱۰۱

جمع BCD 
جمع کدهای BCD به روش جمع اعداد دودویی صورت می‌گیرد اما باید این نکته را بیاد داشت که اعداد BCD با وجود ۴ بیت از عدد۹ تجاوز نمی‌کنند اما با ۴ بیت می‌توان اعداد ۰تا ۱۵ را پوشش داد بینابر این در جمع اعداد BCD باید به روش زیر عمل کرد:

ابتدا اعداد را به صورت گروه‌های ۴ بیتی(۴تایی) متناظر بارگروه (کد رقم) هم مرتبه (ارزش مکانی یکسان) آن عدد قرار می‌دهیم

آنگاه این اعداد را جمع می‌کنیم به عنوانم مثال برای جمع دو عدد ۳ و ۵ به صورت BCD به صورت زیر عمل می‌کنیم:

۰۰۱۱

۰۱۰۱ +

۱۰۰۰

حال باید توجه داشت که اگر عدد حاصل از ۱۰۰۱(عدد۹) فراتر بود باید به عبارت حاصله، میزان اختلاف با ارزشترین مکان بیتی حاصل از جمع دودویی و نقلی دهدهی که برابر است با ۶=۱۰–۱۶ را افزود.

مثال:

۱۰۰۰ ۸

۱۰۰۱ + ۹+

۱۰۰۰۱

۰۱۱۰ +

۰۱۱۱ ۱

همان‌طور که مشاهده می‌کنید حاصل ۹+۸ از ۱۰۰1(9) بیشتر می‌باشد و برای ساختن یک رقم نقلی در مبانای دودویی باید به آن عدد 6(0110) را می‌افزاییم که حاصل یک رقم نقلی(۱) وعدد 7(0111) می‌باشد حال می‌توانیم رقم نقلی را به صورت یک کد BCD بنویسیم و ۰۱۱۱ ۰۰۰۱ حاصل جمع ۹+۸ خواهد بود.

مثال

۱۸۴ ۰۱۰۰ ۱۰۰۰ ۰۰۰۱

۵۷۶ + ۰۱۱۰ ۰۱۱۱ ۰۱۰۱ +

  1010 1111 0110 حاصل جمع دودویی

  ۰۱۱۰ ۰۱۱۰ جمع با ۶

۷۶۰ ۰۰۰۰ ۰۱۱۰ ۰۱۱۱ حاصل جمع BCD

ساعت باینری 
نمایی از روش کار ساعتهای ال‌ئی‌دی با استفاده از BCD

ساعت باینری یکی از کاربردهای کد BCD است که سازوکار آن طبق اصول باینری است، این ساعت، پاراتمترهای ساعت، دقیقه و ثانیه در دو ستون با چهار سطر نشان داده می‌شود، مطابق شکل سطر اول رقم ۱، سطر دوم ۲، سطر سوم ۴، و سطر آخر رقم ۸ است، ستون سمت چپ رقم دهگان و ستون سمت راست رقم یکان را نشان می‌دهد که با جمع ارقام هر ستون و جمع‌بندی آنها با هم عدد ساعت، دقیقه و ثانیه به دست می‌آید.

منابع 

حساب رایانه‌ای
سامانه‌های عددی ارزش مکانی غیراستاندارد
عددنویسی
محاسبه اعداد دودویی