Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Toán tử dịch phải không dấu (>>>) trong JavaScript

Định nghĩa

a >>> b dịch bit của a sang phải b vị trí, lấp 0 vào bên trái (unsigned). Khác với >> giữ bit dấu (sign-propagating).

Ví dụ

<script>
var a = -14;        // nhị phân 32-bit: 11111111111111111111111111110010
var b = 2;
var result = a >>> b; // dịch phải 2, lấp 0 trái
document.write("(a >>> b) = " + result); // 1073741820
</script>

Giải thích nhị phân

-14 (int32): 11111111111111111111111111110010
>>> 2:        00111111111111111111111111111100
= 1073741820 (dương lớn)

So sánh >> vs >>>

Toán tửTênBit tráiVí dụ -14 >> 2Ví dụ -14 >>> 2
>>Sign-propagating right shiftGiữ bit dấu (1)-4-
>>>>Zero-fill right shiftLấp 0-1073741820

Ứng dụng

  • Chuyển signed 32-bit sang unsigned: value >>> 0.
  • Thao tác bitmask, hash, mã hóa, graphics.
  • >>> 0 thường dùng để ép thành unsigned int 32-bit.