سلام
مطالب موجود در آدرس زیر رو بخونید :
http://en.wikipedia.org/wiki/Binary-coded_decimal
گه بخواییم خودمون برنامه ی تبدیلش رو بنویسیم ، براش روش های مختلفی وجود داره ، مثلا :
int bcd2bin(int n){
int a,b;
a=n&0xf;
b=n&0xf0;
در بخش بالا من یه دونه تابع دارم که عدد bcd رو از برنامه ی اصلی میگیره و اون رو توی n قرار میده ، با فرض اینکه بیشترین رقم bcd ما دو باشه
b=(b >>4);[/LEFT]
در بخش اول ما n رو با f و f0 در مبنای هگز که برابر یا 1111 و 11110000 در مبنای باینری هست اند کردیم ، در این حالت 4 بیت اول و دوم عدد bcd ما جدا میشه .
در مرحله ی دوم من بیت های با ارزش رو 4 خونه به سمت چپ شیفت میدم تا ارزش اونا به رقم 10 گان برسه و در آخر :
b=(b*10)+a;
return (b);
}
عدد باینری ما آماده هست ، که به فرم دسیمال در متغیر b ذخیره شده .
حالا شما خودتون میتونیدحالت دوم رو بنوسید .