Nhân điểm cố định với số âm


8

Tôi đang bối rối về một vấn đề đơn giản. Giả sử tôi có hai số 4 bit ở định dạng Q0.3. Một bit dấu và ba bit phân đoạn. Vì vậy tôi có thể đại diện1 thông qua 0.875.

Bây giờ hãy nói rằng tôi muốn thực hiện phép tính này: 0.25×0.875. Đó là:

223×723

Có nghĩa là tôi đang nhân lên 1110 (2) bởi 0111 (7). Tất nhiên câu trả lời là0.21875 hoặc là 0.25 sử dụng số Q0.3 gần nhất.

Hãy làm việc đi.

1110×0111=01100010

mà khi xem như một số Q0.6 là 1.100010, đó là 0.46875bởi những cuốn sách của tôi. Tại sao điều này không chính xác? Tôi mong đợi một câu trả lời của1.110010 (0.21875).

Tôi đã làm gì sai?

Câu trả lời:


10

Khi nhân hai số bù của hai số, bạn phải thực hiện các phần mở rộng dấu cho toán hạng để đáp ứng số chữ số mà phép nhân của bạn sẽ mang lại, tức là, trong trường hợp của bạn 4+4=8 chữ số.

111111102×000001112=111100102

Như có 23 bit phân số, kết quả là 1.1100102=1426=0.21875. Bình thường hóa số này thành3 bit phân đoạn ở định dạng Q0.3 mang lại 1.1102=0.25.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.