Các
khái niệm cơ bản
Bạn có biết rằng tất cả
mọi người trong chúng ta có thể được xếp vào 1 trong 10 nhóm: nhóm 1 là những
người đã quen thuộc với hệ thống số nhị phân, và nhóm 10 là những người không
quen thuộc với nó. Có thể bạn không hiểu tại sao tôi lại nói là “1 trong 10
nhóm”? J
Điều đó có nghĩa rằng bạn vẫn còn thuộc nhóm phía sau. Đừng lo lắng, nếu bạn muốn
thuộc vào nhóm đầu tiên, để hiểu được “ngôn ngữ của máy tính”, hãy đọc tiếp các
phần tiếp theo, chúng ta sẽ mô tả một cách vắn tắt về các khái niệm cơ bản (chỉ
để chắc chắn rằng chúng ta có thể hiểu được nhau), các khái niệm này được sử dụng
rất nhiều trong lĩnh vực điện tử máy tính. Còn nếu bạn đã nắm rõ, chúng ta cũng
có thể coi đây như một cơ hội củng cố thêm kiến thức.
Thế
giới của những con số
Toán học là một ngành khoa
học cơ bản! Tạo hóa sinh ra vạn vật rất hợp lý và logic. Toàn thể vũ trụ có thể
được con người mô tả chỉ với 10 chữ số. Tuy nhiên, điều này có thực sự đúng?
Chúng ta có thực sự cần chính xác đến 10 chữ số? Tất nhiên là không, đây chỉ là
một vấn đề của thói quen mà thôi. Hãy nhớ lại các bài học từ thời tiểu học.
Ví dụ, số 764 có nghĩa là:
4 đơn vị, 6 hàng chục
và 7 hàng trăm.
Rất đơn giản!
Và nó có thể được mô tả một cách phức tạp
hơn:
4 + 60 + 700.
Thậm chí còn phức tạp hơn nữa:
4 * 1 + 6 * 10 + 7 *
100.
Có thể nhìn nhận các con số này một cách
khoa học hơn không? Câu trả lời là có:
4 * 10 ^ 0 + 6 * 10 ^ 1
+ 7 * 10 ^ 2.
Điều này có ý nghĩa gì? Tại sao chúng ta
có thể hiểu và sử dụng chính xác ngay lập tức với những con số như: 100, 101 và
102? Tại sao các con số này lại liên quan mật thiết với số 10? Đó là bởi vì
chúng ta sử dụng 10 chữ số khác nhau (0, 1, 2, ... 8, 9) để biểu diễn mọi thứ.
Nói cách khác, bởi vì chúng ta sử dụng cơ số 10, tức là hệ thống số thập phân.
Và qua thời gian sử dụng lâu dài, chúng ta đã quen, đến mức không cần thiết phải
biểu diễn lại theo các cách “phức tạp” như trên mà ta vẫn dễ dàng hiểu được
chúng.
Hệ
thống số nhị phân
Vậy điều gì sẽ xảy ra nếu
thay vì sử dụng đến 10 chữ số, chúng ta chỉ sử dụng 2 chữ số (0 và 1 chẳng hạn)?
Với 2 chữ số bạn làm sao diễn tả một vật này nặng hơn vật kia 3 lần, hay 5 lần?
Hoặc bạn có nghĩ mình sẽ bị hạn chế nhiều trong việc so sánh kích thước của 2 vật
chẳng hạn, thay vì có nhiều mức để so sánh, lần này chúng ta chỉ có thể đưa ra
2 mức hoặc là “1”, hoặc là “0” ? J
Sẽ không có gì hạn chế, không có gì vướng mắc cả, chúng ta cũng sẽ tiếp tục sử
dụng 2 chữ số này theo cùng một cách như ở trên. Cách tốt nhất để hiểu là lấy
ví dụ.
Ví dụ: 11011010.
Để hiểu ý nghĩa của dãy số này, theo
cùng một logic như trong ví dụ trước, ta hãy biểu diễn nó lại theo cách “phức tạp”
hơn một chút. Ghi nhớ rằng giờ đây chúng ta chỉ sử dụng có 2 chữ số (nên gọi là
hệ thống số nhị phân).
Rõ ràng, ở đây chúng ta có cùng một giá
trị (218 – thập phân) được biểu diễn trong hai cách khác nhau (dạng nhị phân là
11011010 – và dạng thập phân là 218). Sự khác biệt duy nhất là số các chữ số cần thiết
cho việc biểu diễn 1 giá trị. Một chữ số “2” được sử dụng để biểu diễn số 2
trong hệ thập phân, trong khi đó cần hai chữ số “10” để viết con số đó trong hệ
thống nhị phân.
Đến đây bạn có đồng ý với tôi rằng có 10 nhóm người như tôi đã
chỉ ra ở đầu không? J
Chào mừng bạn đến với thế giới của số học nhị phân! Liệu bạn có thắc mắc rằng, trong
khi chúng ta không quen sử dụng số nhị phân, vậy nó được quan tâm đến để làm
gì? Lý do là đây:
Trừ điều kiện trong phòng
thí nghiệm có sự kiểm soát chặt chẽ, thì các mạch điện tử phức tạp nhất cũng
khó có thể xác định chính xác sự khác biệt giữa 2 mức tác động nào đó (ví dụ là
2 mức giá trị điện áp chẳng hạn) nếu các mức này là quá nhỏ (nhỏ hơn một vài Volt).
Nguyên nhân là do nhiễu và một điều quan trọng nữa là "môi trường làm việc
thực sự" (không thể đoán trước sự thay đổi của điện áp cung cấp, sự thay đổi
nhiệt độ, sai số của các giá trị, ..v..v).
Nếu bạn nghĩ đến cách
khắc phục là tăng mức tác động của điện áp lên, hãy tưởng tượng một máy tính sẽ
hoạt động dựa trên các số thập phân bằng cách công nhận 10 chữ số theo các mức
sau: 0 = 0V, 1 = 5V, 2 = 10V, 3 = 15V, 4 = 20V ... 9 = 45V? Liệu chúng ta sẽ phải
thiết kế một khối Pin đồ sộ cỡ nào?
Một giải pháp đơn giản
hơn nhiều là sử dụng hệ nhị phân, trong đó chỉ có 2 mức: 0 chỉ ra rằng “không
có điện áp” và 1 chỉ ra rằng “có điện áp”. Tại sao lại là “0” và “1” mà không
là các ký hiệu khác? Thực ra đây chỉ là quy ước, và nó cũng thuận tiện hơn để
ta biểu diễn. Thay vì phải diễn tả là “không có điện áp” hoặc “có điện áp”, ta
chỉ đơn giản là viết “0” hoặc là “1”. Chúng cũng được gọi là mức logic không
(0) và mức logic một (1) mà bất kỳ một thiết bị điện tử nào cũng dễ dàng phân
biệt được chúng. Trong các thiết bị này, tất cả các số đều được biểu diễn chỉ bằng
2 con số (1 và 0), tương ứng với có, hoặc không có điện áp. Tất nhiên, chúng ta
chỉ đang nói về điện tử kỹ thuật số.
Hệ
thống Số Hexadecimal (thập
lục phân)
Vào thời nguyên thủy của
kỷ nguyên máy tính, rất dễ dàng nhận ra rằng mọi người đều rất khó khăn trong
việc xử lý các số nhị phân. Vì lý do này, một hệ thống số mới nữa đã được thành
lập, một hệ thống số sử dụng 16 chữ số khác nhau. Mười chữ số đầu tiên là 10 chữ
số tương tự như trong hệ thập phân chúng ta sử dụng (0, 1, 2, 3, ... 9), nhưng còn
có thêm sáu chữ số nữa. Để tránh tạo thêm các ký tự mới, sáu ký tự đầu của bảng
chữ cái là A, B, C, D, E và F đã được sử dụng. Một hệ thống số thập lục phân –
Hexa bao gồm 16 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F đã được
thành lập. Mục đích của sự kết hợp có vẻ kỳ lạ này là gì? Hãy nhìn nhận một
cách tổng quan, chúng đều có liên hệ với hệ thống số nhị phân.
Giá trị lớn nhất có thể
được đại diện bởi 4 chữ số nhị phân là số 1111. Nó tương ứng với số 15 trong hệ
thập phân. Còn trong hệ thập lục phân lại được đại diện chỉ bởi một chữ số F.
Đó cũng là số có 1 chữ số lớn nhất trong hệ thập lục phân. Bạn có thấy mối liên
hệ chặt chẽ ở đây không? Tương tự như thế, giá trị lớn nhất có thể đại diện bởi
8 chữ số nhị phân (1111 1111) cũng là cùng một giá trị mà 2 chữ số thập lục
phân lớn nhất biểu diễn được (FF), đều là 255 trong hệ thập phân. Lưu ý rằng
các máy tính sử dụng 8-chữ số trong hệ nhị phân.
Mã
BCD
BCD là hệ thống số nhị phân dùng để biểu diễn các số thập phân. Nó được sử dụng để cho phép các mạch điện tử giao tiếp với nhau giữa 2 hệ thống số thập phân và nhị phân. Nó bao gồm 4 chữ số nhị phân, biểu diễn cho mười chữ số đầu tiên (0, 1, 2, 3 ... 8, 9). Mặc dù 4 chữ số có thể cho ta một tổ hợp 16 kết quả, tức là chúng có thể biểu diễn cho 16 giá trị khác nhau, nhưng ta chỉ cần sử dụng 10 tổ hợp đầu tiên để biểu diễn cho 10 chữ số thập phân.
Chuyển
đổi giữa các hệ thống số
Hệ thống số nhị phân là sử dụng phổ biến nhất trong máy tính, còn hệ thống số thập phân là dễ hiểu nhất, trong khi đó hệ thống số thập lục phân là sự trung gian giữa 2 hệ thống số trên. Vì vậy, một vấn đề quan trọng là làm sao để chuyển đổi một số từ hệ này sang hệ khác, làm thế nào để biến một loạt các số 0, số 1 thành các giá trị dễ hiểu đối với chúng ta.
Chuyển
đổi từ số nhị phân sang thập phân
Mỗi chữ số trong một số nhị phân có giá trị khác nhau tùy thuộc vào vị trí của nó trong số đó.
Để dễ hiểu, ta sẽ lấy 1 ví dụ tương tự về
1 số thập phân:
99
Số 9 thứ nhất từ phải qua đại diện cho
giá trị là:
9 * 10^0 = 9
Số 9 còn lại có giá trị là:
9 * 10^1 = 90
Số nhị phân cũng như vậy, ngoại trừ việc
mỗi vị trí trong số nhị phân chỉ có thể là 0 hoặc 1, và giá trị của nó cũng có
thể dễ dàng xác định bởi vị trí của nó tính từ bên phải qua. Để thực hiện việc
chuyển đổi một số nhị phân sang thập phân, ta cần nhân các trọng số với những
chữ số (0 hoặc 1) tương ứng với trọng số đó, và cộng các kết quả lại. Rất đơn
giản. Hãy xem ví dụ này:
110 = 0 * 2^0 + 1 * 2^1 + 1 * 2^2 = 6
Cần lưu ý rằng đối với một số thập phân từ 0 đến 3, bạn chỉ cần 2 chữ số nhị phân để biểu diễn chúng. Đối với một dải giá trị lớn hơn, bạn phải cần số chữ số nhị phân nhiều hơn. Như vậy, đối với các số từ 0 đến 7 bạn cần 3 chữ số, các số từ 0 đến 15 cần 4 chữ số ... Một cách tổng quát, giá trị lớn nhất mà một số nhị phân có n chữ số có thể biểu diễn được tính bằng 2^n và trừ đi 1 đơn vị, vì chúng ta bắt đầu đếm từ số 0.
Ví dụ, nếu n = 4:
2^4 - 1 = 16 - 1 = 15 <=> 1111 nhị phân.
Đây là giá trị lớn nhất mà 4 chữ số nhị
phân biểu diễn được.
Theo đó, bằng cách sử dụng 4 chữ số nhị
phân ta có thể biểu diễn cho các số thập phân từ 0 đến 15.
Chuyển
đổi từ số thập lục phân sang thập phân
Để thực hiện chuyển đổi một số thập lục phân sang thập phân, mỗi chữ số thập lục phân được nhân với trọng số tương ứng với vị trí của nó. Ví dụ:
Chuyển
đổi từ số thập lục phân sang nhị phân
Sự chuyển đổi này hết sức dễ dàng, thậm chí bạn không cần phải thực hiện một phép tính phức tạp nào cả. Chỉ đơn giản là chúng ta thay thế mỗi chữ số thập lục phân bằng 4 chữ số nhị phân thích hợp. Ví dụ:
Phân
biệt các hệ thống số
Các hệ thống số thập lục phân cùng với hệ thống số nhị phân và số thập phân rất quan trọng và ta sử dụng chúng rất nhiều. Rất dễ dàng để thực hiện sự chuyển đổi bất kỳ giữa các hệ thống số. Tuy nhiên, những chuyển đổi này có thể gây nhầm lẫn. Ví dụ, nếu chúng ta nói "có 110 sản phẩm trên dây chuyền lắp ráp" thì bạn sẽ hiểu thế nào? Tùy thuộc vào hệ thống số ở đây là nhị phân, thập phân hoặc thập lục phân, kết quả có thể là 6, 110 hoặc 272 sản phẩm! Do đó, để tránh sự hiểu nhầm, các tiền tố và hậu tố khác nhau được thêm vào các con số. Tiền tố $, 0X hoặc hậu tố H đánh dấu các số thuộc hệ số thập lục phân. Ví dụ:
1 số thập lục phân 10AF
có thể được viết là $10AF, 0X10AF hoặc 10AFH.
Tương tự như vậy, số nhị phân thường có hậu tố
là % hoặc 0B, trong khi các số thập phân có hậu tố là D.
Cuối cùng, ta liệt kê lại các số từ 0-255 theo cả 3 hệ (thập phân, nhị phân, và Hexa):
0 nhận xét:
Đăng nhận xét