Có bao giờ lý do để nghĩ rằng các toán tử bit-shift (và đã ký) và >>> (chưa ký) trong Java sẽ thực hiện khác nhau không? Tôi không thể phát hiện bất kỳ sự khác biệt nào trên máy của tôi.Bao giờ bất kỳ hiệu suất nào khác nhau giữa Java >> và >>> toán tử dịch chuyển phải không?
Đây hoàn toàn là câu hỏi học thuật; nó sẽ không bao giờ là nút cổ chai tôi chắc chắn. Tôi biết: tốt nhất là viết những gì bạn có ý nghĩa quan trọng nhất; sử dụng >> để chia cho 2, ví dụ.
Tôi giả định rằng kiến trúc có các hoạt động được thực hiện như một hướng dẫn.
Tôi nghĩ cả hai sẽ được chuyển đổi thành các chỉ lệnh CPU gốc (logic/số học phải dịch) cuối cùng cũng có chu kỳ tương tự. – kennytm
Không, sử dụng '/ 2' để chia cho 2. –
+1 để tôi tìm kiếm toán tử >>>. Và đừng đánh giá thấp sự tối ưu hóa của trình biên dịch. Thường thì tối ưu hóa ở cấp độ này thậm chí có thể làm mọi thứ tồi tệ hơn. – Thirler