Định nghĩa
Thực hiện XOR (OR độc quyền) trên từng bit của hai số nguyên 32-bit. Kết quả bit = 1 nếu chính xác một trong hai bit là 1.
Bảng chân lý bit
| a | b | a ^ b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Ví dụ
<script>
var a = 2; // 10 (nhị phân)
var b = 3; // 11
document.write("(a ^ b) = " + (a ^ b)); // 1 (01)
</script>
Ứng dụng thực tế
- Hoán đổi 2 biến không cần temp:
a ^= b; b ^= a; a ^= b; - Toggle bit:
flags ^= MASK(bật/tắt flag). - Checksum đơn giản / parity bit.
- Mã hóa đối xứng yếu:
cipher = plain ^ key,plain = cipher ^ key.
Lưu ý
- JS chuyển đổi toán hạng sang signed 32-bit int trước khi thao tác bitwise.
- Kết quả luôn là signed 32-bit int (có thể âm).
- Dùng
>>> 0để xem kết quả unsigned.