Trích:
Nguyên văn bởi viet_bk
em không hiêu trực quan có nghĩa thế nào. nếu em dùng assembly thì làm thế nào. nếu như anh giới thiệu thì vẫn dùng phép nhân.lại phải dùng thêm một hàm nhân. nếu như chuyển từ nhị phân sang BCD thì chỉ cần dịch bít rồi khiểm tra xem có lớn hơn 9 hay không. nêu đúng thì công thêm 6. em muốn tìm một thuật toán dạng như vậy. nếu có anh giới thiệu cho em nhá
|
Trong hệ nhị phân, phép nhân chính là kết hợp của phép dịch và phép cộng. Ví dụ, x*10 = x*8 + x*2 = (x<<3) + x(<<1).
Sau đây là thuật toán chuyển số BCD 5 chữ số thành số nhị phân 16-bit (áp dụng đúng nguyên tắc trên):
http://www.piclist.com/techref/micro...b-5d16b-ph.htm
Bài viết trước đó của bạn chỉ yêu cầu về thuật toán, chứ không cho biết bạn đang viết code hợp ngữ.
Thân,