Trò chơi đoán ngày trong tháng. An bảo Bình, cậu hãy nghĩ đến một ngày trong tháng, tớ hỏi đúng 5 câu,
Cách hỏi của An nhằm xác định từng chữ số trong biểu diễn nhị phân của số.
- Xét các số nhị phân có 5 chữ số. Số nhỏ nhất là 00000 là 0(10) và lớn nhất là 11111 là 31(10).
- Một số nhị phân có biểu diễn d4d3d2d1d0 sẽ có giá trị là:
d4 × 16 + d3 × 8 + d2 × 4 + d1 ×2 + d0.
- Vì thế nếu một số nằm trong khoảng từ 0 đến 31 mà nhỏ hơn 16 thì d4 phải là 0, ngược lại sẽ là 1. Vì thế câu hỏi đầu tiên của An nhằm xác định d4. (d4 = 1 vì số đã nghĩ không nhỏ hơn 16).
- Đối với d3, cần xác định số còn lại sau khi trừ đi 16, là nhỏ hơn 8 hay ngược lại. Điều này tương đương với việc xác định số đó có nhỏ hơn 16 + 8 = 24 hay không. (d3 = 1 vì số đã nghĩ không nhỏ hơn 24).
- Đối với d2 cần xác định số còn lại sau khi trừ đi 16 + 8, là nhỏ hơn 4 hay ngược lại. Điều này tương đương với việc xác định số đó nhỏ hơn 16 + 8 +4 = 28 hay không. (d2 = 0 vì số đã nghĩ nhỏ hơn 28).
- Đối với d1 khi d2 đã bằng 0 thì số chỉ có dạng d4 × 16 + d3 × 8 + d1 × 2 + d0 thì câu hỏi tiếp theo cần xác định số còn lại sau khi trừ đi 16 + 8 là nhỏ hơn 2 hay ngược lại. Điều này tương đương với việc xác định số đó nhỏ hơn 26 hay không. (d1 = 0 vì số đã nghĩ nhỏ hơn 26).
- Còn với d0, do d1 = 0 nên lúc này số chỉ còn có dạng d4 × 16 + d3 × 8 + d0 thì câu hỏi tiếp theo cần xác định số còn lại sau khi trừ đi 16 + 8 là nhỏ hơn 1 hay ngược lại. Điều này tương đương với việc xác định số đó nhỏ hơn 25 hay không. (d0 = 1 vì số đã nghĩ không nhỏ hơn 25).
⇒ Vậy chúng ta đã xác định được biểu diễn nhị phân của số Bình nghĩ.