2012-03-02 29 views

Trả lời

5

Số được ký để làm cho toán học có ý nghĩa hơn. Nếu bạn trừ địa chỉ 123 từ 456, bạn mong nhận được địa chỉ 333, đúng không? Vì vậy, nếu bạn trừ 456 từ 123, bạn mong đợi để có được -333, không phải 18,446,744,073,709,551,283, phải không? Đó là lý do tại sao các địa chỉ được ký.

Lý do chỉ phần cao được ký là số chỉ có một bit dấu và luôn là bit cao nhất (quan trọng nhất).

+0

'LowPart' và' HighPart' là hai nửa của địa chỉ 64 bit. Xử lý nó như là một số nguyên 64-bit, chỉ có một bit dấu, và nó ở phần cao. Trong thực tế, chỉ một phần nhỏ của không gian địa chỉ 64-bit đầy đủ (16 exabyte) sẽ khả dụng. \ –

+0

Một nửa không gian địa chỉ là tiêu cực ... vậy chúng có bị lãng phí không? Tại sao không kiểm tra toán hạng nào lớn hơn trước khi bạn trừ để đảm bảo kết quả là dương? Là số học lý do duy nhất? – solotim

+0

@solotim: Các từ "âm" không bị lãng phí. CPU không quan tâm nếu con trỏ là "tiêu cực" - nó chỉ thấy bit cao được thiết lập. – Gabe

Các vấn đề liên quan