ai giup minh ev lap trinh vxl chut???

ví dụ minh` có số 85 đổi sang mã nhị phân là 0101 0101, còn nếu biễu diễn theo mã BCD là 1000 0101. Giả thiết mình có đc dãy nhị phân 0101 0101(2) (hay 1 dãy X bất kỳ nào đó) và mình muốn chuyển sang mã BCD 1000 0101 tương ứng mà ko phải thông qua mã thập phân ( tức ko chuyển về 85 rùi mới chuyển sang BCD) thì có cách nào ko, ai bít giúp zới.(dùng các thao tác bit, phép and, or … trong C)
Thanks !!!
Ví dụ 1 vài giá trị như:
25 - 0001 1001(2) - 0010 0101(BCD)
37 - 0010 0101 (2) - 0011 0111(BCD)

Theo mình biết thì không có đâu Thi ! trong phần cứng có các mạch chuyển từ Binary sang BCD nhưng cứ thêm 1 bit thì công việc chuyển nó phức tạp lên, không có quy luật nào cả.

Không biết có ai chuyển được direct cái này ko nhỉ ??

hoặc có ai bít mối liên hệ giữa giá trị nhị phân và bcd của 1 số ko <!–emo&:(–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/sad.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘sad.gif’ /><!–endemo–>

mình đọc tài liệu có thấy cách chuyển 1 số nhị phân 4 bit sang số BCD 8 bit, nhưng 1 số 8 bit thì họ nói chung chung, ko thể hiểu nỗi <!–emo&:unsure:–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/unsure.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘unsure.gif’ /><!–endemo–>

ah, minh tim ra dc cach rui, ai giup dong gium topic lai cai.
Thanks!!! <!–emo&:P–><img src=‘http://www.uit.edu.vn/forum/html/emoticons/tongue.gif’ border=‘0’ style=‘vertical-align:middle’ alt=‘tongue.gif’ /><!–endemo–>