Trích:
Nguyên văn bởi han_nang_008
mình đã đổi lại thành HexTable[] = "0123456789ABCDEF" nung kết quả vẫn thế, bạn dựa vào đầu mà bạn biết dc truyền 5893 mà lại nhận dc 1705 thế
|
5893 = 0x1705. Code của tôi chuyển từng nibble (4 bit) của một số hexadecimal thành một ký tự tương ứng. Bạn áp dụng khi chưa hiểu rõ.
Muốn chuyển một số thập phân thành chuỗi biểu diễn giá trị của nó thì bạn phải dùng cách tương tự như hàm itoa(), có sẵn trong thư viện của một số trình biên dịch. Với MPLAB C Compiler for dsPIC thì bạn phải tự làm, cũng không khó lắm. PIClist (
www.piclist.com) có các đoạn code C mẫu cho việc chuyển đổi số nguyên sang ASCII (không may là server hiện thời của piclist chạy khá chậm).
Code cho mục đích của bạn (chuyển số nguyên 16-bit sang chữ số thập phân dạng ASCII) có ở đây:
http://www.piclist.com/techref/langu...onvertbase.htm
Code trên PIClist xuất xứ từ đây (bài viết của Associate Professor Douglas W. Jones):
http://www.cs.uiowa.edu/~jones/bcd/decimal.html
Thân,