Mục lục bài họcĐang ở d01-b1
← A-Level Computer Science
0/30 bài đã học xong
Chương 1 · Data Representation: Number Bases, Binary Arithmetic and Character Sets · Bài 1/3 của chương · bài 1/30 của A-Level Computer Science

Number bases: binary, denary and hexadecimal

Hệ cơ số: nhị phân, thập phân và thập lục phân
← Mục lục bài học
Lý thuyết · English

Place value is the whole idea

In any base, each column is the base times the column to its right. In binary the columns are $128, 64, 32, 16, 8, 4, 2, 1$. To read a binary number, add the column values wherever there is a $1$. There is nothing to memorise beyond the doubling.

Denary to binary

Work from the left: take the largest column that fits, subtract, repeat. For $180$: $128$ fits (leaves $52$), $64$ does not, $32$ fits (leaves $20$), $16$ fits (leaves $4$), $8$ does not, $4$ fits (leaves $0$). Result $10110100$. This is more reliable under exam pressure than repeated division.

Hexadecimal is just grouped binary

Each hex digit is exactly four bits, so conversion is done by splitting into nibbles: $1011\,0100 \to B\,4 \to$ $\text{B4}$. That is why hex exists — it makes long binary readable without changing the value. Never convert binary$\to$denary$\to$hex; go straight through nibbles.

Why programmers use hex

Colour codes, memory addresses and MAC addresses are all hex because one hex digit replaces four bits, so a $32$-bit address becomes eight readable characters instead of thirty-two.

Giải thích tiếng Việt

Giá trị theo hàng là toàn bộ ý tưởng

Ở bất kỳ hệ cơ số nào, mỗi cột bằng cơ số nhân với cột bên phải nó. Trong hệ nhị phân, các cột là $128, 64, 32, 16, 8, 4, 2, 1$. Muốn đọc một số nhị phân, cộng giá trị của những cột mang bit $1$. Ngoài việc nhân đôi, không có gì phải học thuộc.

Thập phân sang nhị phân

Làm từ trái sang: lấy cột lớn nhất còn vừa, trừ đi, lặp lại. Với $180$: $128$ vừa (còn $52$), $64$ không vừa, $32$ vừa (còn $20$), $16$ vừa (còn $4$), $8$ không vừa, $4$ vừa (còn $0$). Kết quả $10110100$. Cách này chắc tay hơn phép chia liên tiếp khi đang căng thẳng trong phòng thi.

Thập lục phân chỉ là nhị phân gom nhóm

Mỗi chữ số hex đúng bằng bốn bit, nên chuyển đổi chỉ là tách thành từng nhóm bốn: $1011\,0100 \to B\,4 \to \text{B4}$. Đó chính là lý do hex tồn tại — nó làm chuỗi nhị phân dài đọc được mà không đổi giá trị. Đừng bao giờ đi đường vòng nhị phân$\to$thập phân$\to$hex; tách nhóm bốn bit là xong.

Vì sao lập trình viên dùng hex

Mã màu, địa chỉ bộ nhớ và địa chỉ MAC đều viết bằng hex vì một chữ số hex thay cho bốn bit, nên một địa chỉ $32$ bit thành tám ký tự đọc được thay vì ba mươi hai.

Gia tri theo hang cua mot byte112806413211608140201128 + 32 + 16 + 4 = 180Cong gia tri cua nhung cot mang bit 1 — khong hoc thuoc bang nao caHex: 1011 = B, 0100 = 4 → B4
Vẽ đúng hàng giá trị này ra góc giấy nháp ngay khi vào phòng thi. Mọi câu chuyển đổi của Paper 1 đều giải được bằng nó, và nó cũng chặn lỗi đếm nhầm số bit.
Ví dụ — chuyển đổi ba chiều và kiểm chéo

Một thanh ghi $8$ bit chứa giá trị hex $\text{9C}$.

(a) Viết giá trị đó dưới dạng nhị phân. (b) Viết dưới dạng thập phân. (c) Kiểm lại kết quả bằng một đường tính khác.

Giải.

(a) Tách từng chữ số hex thành bốn bit: $9 = 1001$, $\text{C} = 1100$. Ghép lại: $10011100$.

(b) Cộng giá trị các cột có bit $1$: $128 + 16 + 8 + 4 = 156$.

(c) Đường kiểm khác: tính thẳng từ hex — $9 \times 16 + 12 = 144 + 12 = 156$ ✓. Hai đường khác nhau cho cùng một số nên yên tâm.

Mẹo phòng thi: luôn kiểm bằng bậc độ lớn. Số $8$ bit nằm trong khoảng $0$ tới $255$; nếu ra $1560$ thì chắc chắn đã nhầm cột ở đâu đó.

Bẫy hay mất điểm — Bỏ số $0$ đứng đầu khi tách nhóm bốn bit. Chữ số hex $9$ phải viết là $1001$ chứ không phải $1001$ rút gọn thành $1001$ — nhưng $\text{C}$ thì rất hay bị viết thành $110$ (ba bit). Mỗi chữ số hex luôn cho ĐÚNG bốn bit, kể cả khi bit đầu là $0$: $3 \to 0011$, không phải $11$.
Phải nhớ — Một hàng giá trị $128\ldots1$ giải được mọi câu chuyển đổi. Hex ↔ nhị phân đi qua nhóm bốn bit, không đi vòng qua thập phân. Và luôn kiểm bằng khoảng giá trị hợp lý của số bit đang dùng.

Đọc xong rồi — làm thử ngay

Bài tập của chương Data Representation: Number Bases, Binary Arithmetic and Character Sets gồm 14 câu trắc nghiệm và 3 đề tự luận. Đáp án hiện ngay khi chọn, miễn phí.

Làm bài tập chương →