sách gpt4 ăn đã đi

Ngôn ngữ C: Giải thích chi tiết về trao đổi mã thập phân và mã BCD

In lại Tác giả: qq735679552 Thời gian cập nhật: 27-09-2022 22:32:09 30 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN ngôn ngữ C: Giải thích chi tiết về trao đổi mã thập phân và mã BCD được tác giả sưu tầm và biên soạn. Nếu các bạn quan tâm đến bài viết này thì nhớ like nhé.

Gần đây, tôi đã viết cấu hình ngày và giờ cho một máy vi tính RTC đơn chip. Tôi cần thực hiện trao đổi mã thập phân và mã BCD. Tôi sẽ chia sẻ bản Demo với tất cả bạn bè của mình:

Ngôn ngữ C: Giải thích chi tiết về trao đổi mã thập phân và mã BCD

BCD đề cập đến việc mã hóa số thập phân bằng hệ nhị phân, tức là sử dụng 4 chữ số nhị phân để biểu thị số thập phân, do đó 4 chữ số nhị phân biểu thị số thập phân lớn nhất 9 (1001).

Mã BCD bốn chữ số không thể biểu thị số thập phân có hai chữ số nên khi số đó lớn hơn chín, chúng ta cần sử dụng mã BCD tám chữ số để biểu thị số đó. Đối với các vị trí cao, bạn chỉ cần thăng lên một mỗi chín.

Hệ thập phân dựa trên hệ thập phân và hệ thập lục phân dựa trên hệ thập lục phân. Mỗi số có chênh lệch giữa chúng là 6, vì vậy để chuyển một số thập phân thành mã BCD, trước tiên bạn phải tính số chữ số có nhiều chữ số.

Khi cộng hai mã BCD, nếu tổng bằng hoặc nhỏ hơn 1001 (tức là số thập phân 9) thì không cần hiệu chỉnh.

Ngôn ngữ C: Giải thích chi tiết về trao đổi mã thập phân và mã BCD

Nếu tổng nằm trong khoảng từ 1010 đến 1111 (tức là số thập lục phân 0AH~0FH), bạn cần thêm 6 để sửa.

Ngôn ngữ C: Giải thích chi tiết về trao đổi mã thập phân và mã BCD

Ví dụ: số thập phân 99 được mang 99/10=9 lần và mỗi lần mang khác với số thập lục phân mang 6, do đó tổng chênh lệch là 9×6=54, nghĩa là mã BCD là: 99+54=153 (Cơ sở hex: 0X99). Nguyên tắc tương tự cũng áp dụng cho việc chuyển đổi mã BCD thành mã thập phân.

  。

1. Phiên bản phức tạp

Chuyển đổi mã thập phân sang mã BCD, mã như sau:

int decimal_bcd_code(int decimal){ int sum = 0; //sum của mã BCD for (int i = 0; decimal > 0; i++) { sum |= ((decimal % 10 ) << ( 4*i)); decimal /= 10; } return sum;}

Chuyển mã BCD sang thập phân, mã như sau:

 

int bcd_decimal_code( int bcd){ int sum = 0, c = 1; // tổng trả về số thập phân, c được nhân đôi 10 lần mỗi lần for(int i = 1; bcd > 0; i++) { if( i >= 2) { c*=10; } tổng += (bcd%16) * c; bcd /= 16; Chia cho 16 cũng giống như chia thập phân cho 10. Di chuyển dấu thập phân sang trái một lần và lấy số dư 16 thì trả về tổng;}

  。

2. Phiên bản đơn giản

Chuyển đổi mã thập phân sang mã BCD, mã như sau:

int bcd_decimal_code( int bcd){ trả về (bcd + (bcd/10) * 6);}

Chuyển mã BCD sang thập phân, mã như sau:

int decimal_bcd_code(int thập phân){ trả về (thập phân - (thập phân>>4) * 6);}

Tài liệu tham khảo:

1. Thuật toán chuyển đổi mã thập phân và mã BCD.

2. Công cụ trực tuyến chuyển đổi số thập phân sang mã BCD.

Tóm tắt

Bài viết này kết thúc tại đây, tôi hy vọng nó có thể hữu ích cho bạn và tôi hy vọng bạn có thể chú ý hơn đến nội dung của tôi! .

Liên kết gốc: https://blog.csdn.net/m0_38106923/article/details/120000157.

Cuối cùng, bài viết về ngôn ngữ C: hệ thập phân và giải thích chi tiết về trao đổi mã BCD kết thúc tại đây. Nếu bạn muốn biết thêm về ngôn ngữ C: hệ thập phân và giải thích chi tiết về trao đổi mã BCD, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt qua các bài liên quan. Bài viết, tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

30 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress