JavaScript is required

Dãy nhị phân độ dài 5 hiện tại là 01011 dãy liền sau dãy này theo thuật toán sinh là:

A.

01010

B.

10111

C.

01001

D.
01100
Trả lời:

Đáp án đúng: D


Thuật toán sinh dãy nhị phân kế tiếp thực hiện như sau: 1. **Tìm vị trí bit 0 từ phải sang trái:** Bắt đầu từ cuối dãy, tìm bit '0' đầu tiên. 2. **Đảo bit:** Đảo bit '0' này thành '1'. 3. **Đặt lại các bit sau:** Tất cả các bit từ vị trí vừa đảo trở về cuối dãy được đặt lại thành '0'. Áp dụng vào dãy `01011`: 1. Duyệt từ phải sang, bit '0' đầu tiên xuất hiện ở vị trí thứ hai từ phải sang (tức là bit thứ hai từ phải qua là 1, bit thứ nhất từ phải qua là 1, đến bit thứ hai thì dừng lại, bit này bằng 0). 2. Đảo bit này thành '1': `01111` 3. Đặt lại tất cả các bit sau bit vừa đảo thành '0': `01100` Vậy dãy nhị phân kế tiếp là `01100`.

Câu hỏi liên quan