Trang chủ
PHASE 5: TRẬN CHIẾN CUỐI CÙNG - LUYỆN ĐỀ PART B (DAY 86 - 100)/Ngày 93/100
DAY 93🇯🇵 論理演算・ビット操作
Pseudo-code Drills: Logic & Bitwise
93%
Quảng cáo • Advertisement
📢 Sponsor Ad
Google AdSense
lesson.content.title
lesson.content.subtitle
🎯 Logic Toán học
1. Bài toán: Kiểm tra tính chẵn lẻ
Cách thường: if (n % 2 == 0)
Cách Bitwise (Pro): if ((n & 1) == 0)
2. Bài toán: Phép dịch Bit (Shift)
Cho biến x = 5 (Binary: 0000 0101). Hỏi giá trị sau khi Left Shift 2 bit (x << 2)?
- 0000 0101 << 2 = 0001 0100.
- Đổi ra Dec: $1*2^4 + 1*2^2 = 16 + 4 = 20$.
- Mẹo: Dịch trái k bit = Nhân với $2^k$. ($5 * 2^2 = 20$).
3. Bài toán: Masking (Mặt nạ)
Để lấy 4 bit cuối của một số IP: IP & 00001111.
Trong đề thi hay cho dưới dạng Hex: IP AND 0x0F.
📝 Luyện đổi Hex sang Bin:
- 0 = 0000, 1 = 0001, ..., 9 = 1001.
- A (10) = 1010.
- B (11) = 1011.
- C (12) = 1100.
- D (13) = 1101.
- E (14) = 1110.
- F (15) = 1111.
Vd: 0xA5 = 1010 0101.
5. Bài toán tính số bit 1 (Hamming Weight)
Cho n = 7 (0111). Có bao nhiêu bit 1?
count = 0
while n > 0:
if (n & 1) == 1: count++
n = n >> 1
return count
📝 Luyện tập Part B (Exam Drills):
- Câu hỏi: Tính
(1011 AND 1100) OR 0011?Đáp án
1. (1000) OR 0011 = 1011. - Câu hỏi: Phép toán nào dùng để đảo ngược (Flip) bit? (0 sang 1 và ngược lại).
Đáp án
Phép XOR với mặt nạ bit 1. (x ^ 1 = !x).
4. XOR Trick: Đổi giá trị 2 biến không cần biến tạm
a = 5, b = 9
a = a ^ b
b = a ^ b // b thành 5
a = a ^ b // a thành 9
Tại sao? Vì x ^ x = 0 và x ^ 0 = x.
Quảng cáo • Advertisement
📢 Ad Space
Google AdSense