2011-12-19 46 views
6

Tôi mới sử dụng java và biết rằng có hai toán tử Shift phải trong java >>>>>, nhưng chỉ có một toán tử shift trái <<. Tại sao nó như vậy?Tại sao có hai toán tử Shift phải và chỉ có một toán tử Shift trái đơn trong Java?

+5

Dựa trên những gì bạn biết về toán tử dịch chuyển phải, bạn có ý tưởng nào không? –

+1

Điều đó cũng được giải thích trong [hướng dẫn] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html). – PeterMmm

+0

@PeterMmm xin lỗi, không tìm thấy trang – sum2000

Trả lời

3

Nhà điều hành dịch chuyển phải là một (>>) và một tiện ích mở rộng đăng ký không có (>>>). Thao tác dịch chuyển trái không có thành phần mở rộng ký hiệu.

Ví dụ, các từ ngữ sau đây đều đúng:

(0x80000000 >> 1) == 0xC0000000 
(0x80000000 >>> 1) == 0x40000000 
+0

tại sao.? Tôi mới ở đây, tha thứ cho tôi nếu tôi hỏi câu hỏi ngớ ngẩn – sum2000

+1

@ sum2000 bit dấu hiệu ở đâu? –

+0

@DaveNewton là bạn ở đây để trả lời hoặc hỏi? – sum2000

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