01/10/2018, 16:21
Cách chuyển mã BCD sang DEC
Chào mọi người!
Nhờ mọi người giúp mình ở đoạn code nhỏ sau:
int dec2bcd(byte num) { return ((num/10 * 16) + (num % 10)); }
hàm return sẽ trả về giá trị của bcd2dec phải không? và mình chưa hiểu phép toán này, trong bài mình đọc có ví dụ: số 23 khi chuyển sang BCD sẽ có dạng 0b00100011 (0x23).
tính toán là: 23/10*16+23%10=39.8???
Cám ơn mọi người!
Bài liên quan
Thứ nhất return không phải là một hàm mà một lệnh.
Thứ hai là mình thấy tên hàm là dec2bcd (mình hiểu là chuyển số thập phân sang số nhị phân - tiêu đề câu hỏi thì lại là Cách chuyển mã BCD sang DEC) nhưng những gì bạn đang đề cập có vẻ như là chuyển số thập phân sang số hexa.
Thứ ba là mình thấy 23/10*16+23%10=39.8??? => không đúng. 23/10 là phép chia nguyên cho kết quả = 2 -> 2 * 16 = 32 -> 32 + 23%10 = 32 + 3. => Cách đổi từ dec2bcd này có vẻ không đúng.
Đoạn code sau đây dùng để đổi từ DEC sang BCD: