Dữ liệu trong máy tính được mã hóa thành dãy bit vì sao?

Trả lời nhanh

Dữ liệu trong máy tính được mã hóa thành dãy bit vì các thiết bị số chỉ phân biệt được hai trạng thái vật lí ổn định (có hoặc không có tín hiệu điện, tương ứng 1 và 0). Mọi loại thông tin như số, chữ, hình ảnh, âm thanh đều có thể quy về dãy 0 và 1 để lưu trữ, xử lí và truyền đi chính xác.

Vì sao máy tính chỉ dùng hai kí hiệu 0 và 1?

Bên trong máy tính là hàng tỉ linh kiện điện tử rất nhỏ, hoạt động như những công tắc: dòng điện đi qua hoặc không đi qua, điện áp cao hoặc thấp. Hai trạng thái này rất dễ phân biệt và ít bị nhầm lẫn.

Nếu muốn dùng 10 mức điện áp để biểu diễn 10 chữ số thập phân, mạch sẽ phải phân biệt các mức rất gần nhau. Chỉ cần nhiễu nhỏ là đọc sai. Với hai mức, sai số nhỏ vẫn không làm đổi kết quả.

Vì vậy người ta quy ước: trạng thái này là bit 0, trạng thái kia là bit 1. Bit (binary digit) là đơn vị nhỏ nhất của dữ liệu trong máy tính.

Các lí do cụ thể

  • Phù hợp với phần cứng: linh kiện điện tử, đĩa từ, đĩa quang, bộ nhớ flash đều có hai trạng thái (từ hóa hai chiều, có/không có điểm lõm, nạp/không nạp điện tích).
  • Độ tin cậy cao: ít bị nhầm khi lưu trữ và truyền đi, dễ phát hiện và sửa lỗi.
  • Dễ tính toán: các phép toán trên 0 và 1 (AND, OR, NOT, cộng nhị phân) có thể làm bằng mạch logic đơn giản.
  • Thống nhất mọi loại dữ liệu: chỉ cần một cách biểu diễn chung nên một máy dùng được cho văn bản, ảnh, tiếng nói, video.
  • Dễ nhân bản, truyền và lưu trữ: dãy bit sao chép ra mà không mất chất lượng.

Mã hóa là gì? Ví dụ minh họa

Mã hóa dữ liệu là biến đổi dữ liệu thành dãy bit theo một quy ước thống nhất. Muốn xem lại dữ liệu, máy làm ngược lại (giải mã).

  • Số nguyên: dùng hệ nhị phân. Ví dụ 13 = 8 + 4 + 1 = 11012.
  • Văn bản: mỗi kí tự được gán một mã số (ví dụ ASCII, Unicode) rồi đổi sang nhị phân. Chữ A có mã 65, viết thành 8 bit là 01000001.
  • Hình ảnh: chia thành các điểm ảnh, mỗi điểm có giá trị màu được ghi bằng dãy bit.
  • Âm thanh: đo (lấy mẫu) độ lớn sóng âm theo từng khoảng thời gian rất ngắn, rồi ghi các giá trị đo bằng bit.
Sơ đồ mã hóa kí tự A thành mã 65 rồi thành dãy bit 01000001
Kí tự A được gán mã 65, sau đó biểu diễn bằng 8 bit là 01000001.

Mẹo nhớ

Hãy nghĩ đến công tắc đèn: chỉ có bật hoặc tắt. Một công tắc cho 1 bit; n công tắc cho 2n tổ hợp khác nhau. 8 bit (1 byte) cho 28 = 256 giá trị, đủ để mã hóa nhiều kí tự.

Lỗi sai thường gặp

  • Nghĩ rằng máy tính “không hiểu” số 5 hay chữ A. Thực ra máy xử lí được vì chúng đã được mã hóa; con người nhìn thấy kết quả sau khi giải mã.
  • Cho rằng dùng 0 và 1 vì chúng là hai chữ số đơn giản nhất. Lí do chính là hai trạng thái vật lí của thiết bị, không phải sự đơn giản của chữ số.
  • Nhầm bit với byte: 1 byte = 8 bit.
  • Cho rằng mã hóa nhằm giữ bí mật. Ở đây mã hóa chỉ là biểu diễn dữ liệu, khác với mã hóa bảo mật.

Bài luyện tập

  1. Có bao nhiêu giá trị khác nhau biểu diễn được bằng 6 bit?
    Đáp án: 26 = 64 giá trị.
  2. Đổi số nhị phân 10110 sang hệ thập phân.
    Đáp án: 1×16 + 0×8 + 1×4 + 1×2 + 0×1 = 22.
  3. Hãy cho biết cần ít nhất bao nhiêu bit để mã hóa 5 trạng thái khác nhau của một đèn giao thông thông minh.
    Đáp án: 22 = 4 < 5 ≤ 23 = 8 nên cần ít nhất 3 bit.

Kết luận

Dữ liệu được mã hóa thành dãy bit vì phần cứng máy tính chỉ làm việc ổn định với hai trạng thái, và một cách biểu diễn duy nhất như vậy giúp lưu trữ, xử lí, truyền thông tin nhanh, chính xác cho mọi loại dữ liệu. Nếu gặp câu trắc nghiệm có đủ phương án, hãy chọn phương án nói về việc máy tính chỉ nhận biết hai trạng thái 0 và 1 (hai mức tín hiệu).

Câu hỏi thường gặp

Bit là gì?

Bit là đơn vị nhỏ nhất của dữ liệu trong máy tính, chỉ nhận một trong hai giá trị 0 hoặc 1. Tám bit hợp thành một byte.

Máy tính có thể dùng hệ thập phân thay cho nhị phân không?

Về lí thuyết có thể, nhưng linh kiện phải phân biệt 10 mức tín hiệu, rất dễ sai do nhiễu và tốn kém. Hai trạng thái ổn định hơn nhiều nên hệ nhị phân được chọn.

Hình ảnh và âm thanh có được mã hóa thành bit không?

Có. Hình ảnh được chia thành điểm ảnh và ghi giá trị màu bằng bit. Âm thanh được lấy mẫu theo thời gian rồi ghi các giá trị mẫu bằng bit.

Một byte biểu diễn được bao nhiêu giá trị?

Một byte gồm 8 bit nên biểu diễn được 2^8 = 256 giá trị khác nhau, từ 0 đến 255 nếu dùng để ghi số nguyên không âm.