Site icon Blog Dương Trạng

Hệ Nhị Phân Là Gì? Tại Sao Máy Tính Sử Dụng Nhị Phân?

Hệ Nhị Phân Là Gì? Tại Sao Máy Tính Sử Dụng Nhị Phân?

Hệ Nhị Phân Là Gì? Tại Sao Máy Tính Sử Dụng Nhị Phân?

Máy tính không hiểu các từ hoặc số như con người. Phần mềm hiện đại giúp người dùng bỏ qua vấn đề này, nhưng ở mức thấp nhất của máy tính, mọi thứ được biểu diễn bằng tín hiệu điện nhị phân, chỉ có hai trạng thái: bật hoặc tắt. Để hiểu được dữ liệu phức tạp, máy tính cần mã hóa nó thành hệ nhị phân. Nhị phân trong máy tính là gì? Số 0 và 1 trong tin học có ý nghĩa gì? Ứng dụng của hệ thống nhị phân.

Hệ nhị phân là gì?

Theo Wikipedia, “Hệ nhị phân (hay còn gọi là hệ đếm cơ số hai) là một hệ đếm sử dụng hai ký tự để biểu diễn một giá trị số, thông qua tổng số lũy thừa của 2”. Điều đó có nghĩa là hệ nhị phân (hay còn gọi là hệ cơ số hai) là hệ đếm chỉ sử dụng hai chữ số thay vì mười chữ số trong hệ cơ số mười, và hai chữ số này thường là 0 và 1. Ngay từ cái tên của nó, nó đã cho thấy điều này: “nhị” có nghĩa là hai, “phân” có nghĩa là mười.

Cách đếm trong hệ nhị phân

Trong hệ nhị phân, chữ số đầu tiên có giá trị 1 trong hệ thập phân. Chữ số thứ hai có giá trị 2, chữ số thứ ba có giá trị 4, chữ số thứ tư có giá trị 8 và tiếp tục nhân đôi mỗi lần. Tổng của tất cả chúng cho ta số thập phân. Vì vậy,

1111 (trong hệ nhị phân) = 8 + 4 + 2 + 1 = 15 (trong hệ thập phân)

Như vậy, một byte (8 bit) cho phép chúng ta biểu diễn 256 giá trị khác nhau. Điều này tốn nhiều không gian hơn để biểu diễn, vì hệ thập phân cho phép chúng ta biểu diễn 10.000 giá trị với 4 chữ số thập phân. Dường như tưởng chừng chúng ta đã gặp rất nhiều rắc rối khi tạo ra hệ thống đếm riêng của chúng ta chỉ để làm cho nó trở nên gọn gàng hơn, nhưng thực tế là máy tính hiểu nhị phân tốt hơn nhiều so với hệ thập phân. Dĩ nhiên, hệ nhị phân chiếm nhiều không gian hơn, nhưng chúng ta bị ràng buộc bởi phần cứng. Và đối với một số ứng dụng như xử lý logic, hệ nhị phân tốt hơn hệ thập phân.

Có một hệ cơ số khác được sử dụng trong lập trình: hệ thập lục phân. Máy tính không chạy trên hệ thập lục phân, nhưng các nhà lập trình sử dụng nó để biểu diễn địa chỉ nhị phân dưới dạng định dạng đọc được. Điều này bởi vì hai chữ số thập lục phân có thể biểu diễn một byte hoàn chỉnh, tám chữ số trong hệ nhị phân. Hệ thập lục phân sử dụng các số từ 0 đến 9 như hệ thập phân và các chữ cái từ A đến F để biểu diễn sáu chữ số bổ sung.

Vậy tại sao máy tính sử dụng hệ nhị phân?

Câu trả lời ngắn gọn là do phần cứng và các quy luật vật lý. Mỗi số trong máy tính là một tín hiệu điện, và trong những ngày đầu của máy tính, việc đo lường và điều khiển tín hiệu điện rất khó khăn và chính xác. Việc phân biệt giữa một trạng thái bật – được biểu thị bằng một điện tích âm – và một trạng thái tắt – được biểu thị bằng một điện tích dương – đáng quan trọng hơn. Điều này đã dẫn đến việc các thiết bị ngoại vi, như điện thoại cầm tay, được biểu diễn bằng một điện tích dương, vì electron có điện tích âm – nhiều electron nghĩa là nhiều dòng điện với điện tích âm.

Do đó, máy tính trong quá khứ đã sử dụng hệ nhị phân để xây dựng các hệ thống của mình, mặc dù phần cứng cũ và vụng về hơn rất nhiều, nhưng chúng vẫn tuân thủ nguyên tắc cơ bản. Máy tính hiện đại sử dụng bóng bán dẫn để thực hiện tính toán với hệ nhị phân. Dưới đây là một sơ đồ của hiệu ứng trường bán dẫn (FET):

Cơ bản, FET cho phép dòng điện chạy từ nguồn đến xả nếu có dòng điện trong cổng. Điều này tạo ra một công tắc nhị phân. Các nhà sản xuất có thể sản xuất các bóng bán dẫn này rất nhỏ – chỉ 5 nanomet, cùng kích thước với hai sợi ADN. Đây là cách chiếc CPU hiện đại hoạt động và chúng có thể gặp phải các vấn đề khác nhau khi chuyển đổi giữa trạng thái bật và tắt (mặc dù hầu hết là do kích thước phân tử không thực sự, do tác động kỳ lạ của cơ học lượng tử).

Vậy tại sao chỉ có hệ thống cơ số hai?

Vậy, bạn có thể tự hỏi, tại sao chỉ có 0 và 1? Tại sao chúng ta không thể thêm một chữ số khác? Trong khi có một số lý do lịch sử về cách máy tính được chế tạo, việc thêm một chữ số khác có nghĩa là chúng ta phải phân biệt các mức điện áp khác nhau – không chỉ có bật và tắt, nhưng cũng một chút bất thường thông qua và trên.

Vấn đề ở đây là nếu bạn muốn sử dụng nhiều mức điện áp, bạn cần một cách dễ dàng thực hiện các phép tính với chúng và phần cứng không thể thay thế được tính toán nhị phân. Điều này thực sự tồn tại; nó được gọi là máy tính thời gian, và nó đã xuất hiện từ những năm 1950, nhưng đó là nơi phát triển của nó dừng lại tương đối sớm. Logic ternary hiệu quả hơn nhị phân, nhưng cho đến nay, không ai đã thực sự tìm ra một thay thế hiệu quả cho bóng bán dẫn nhị phân, hoặc ít nhất là không có công việc nào được thực hiện để phát triển chúng ở cùng một quy mô nhỏ như nhị phân.

Lý do chúng ta không thể sử dụng logic ternary xuất phát từ cách mà các bóng bán dẫn được xếp chồng lên nhau trong một máy tính – điều được gọi là cổng logic – và cách chúng được sử dụng để thực hiện phép tính toán. Cổng có hai đầu vào, thực hiện một thao tác trên chúng và trả về một đầu ra.

Điều này dẫn chúng ta đến câu trả lời dài hơn: toán học nhị phân dễ dàng hơn cho máy tính hơn bất cứ điều gì khác. Logic Boolean dễ dàng ánh xạ sang hệ thống nhị phân, trong đó True và False được biểu diễn bằng bật và tắt. Các cổng trong máy tính hoạt động dựa trên logic Boolean: chúng lấy hai đầu vào và thực hiện một thao tác trên chúng như AND, OR, XOR, v.v. Hai đầu vào dễ quản lý. Nếu bạn vẽ biểu đồ các kết quả cho mỗi đầu vào có thể, bạn sẽ có một bảng chân lý:

Một bảng chân lý hệ nhị phân hoạt động trên logic Boolean sẽ có bốn đầu ra có thể cho mỗi phép toán cơ bản. Nhưng vì cổng ternary có ba đầu vào, một bảng chân lý sẽ có 9 hoặc nhiều hơn. Trong khi hệ thống nhị phân có thể có 16 toán tử (2 ^ 2 ^ 2), hệ thống ternary có thể có đến 19.683 (3 ^ 3 ^ 3). Mở rộng quy mô trở thành một vấn đề vì trong khi ternary hiệu quả hơn, nó cũng phức tạp hơn theo cấp số nhân.

Người ta không biết điều gì sẽ xảy ra trong tương lai. Có thể, chúng ta sẽ đạt được các máy tính ternary trở thành hiện thực khi chúng ta đẩy giới hạn của hệ nhị phân xuống cấp độ phân tử. Tuy nhiên, hiện tại, thế giới vẫn tiếp tục chạy trên hệ nhị phân.

Exit mobile version