Máy tính không hiểu từ hoặc số theo cách con người làm. Phần mềm hiện đại cho phép người dùng cuối bỏ qua điều này, nhưng ở mức thấp nhất trong máy tính của bạn, mọi thứ được thể hiện bằng tín hiệu điện nhị phân đăng ký ở một trong 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ủa bạn phải mã hóa nó thành nhị phân.
Nhị phân là một hệ thống 2 số cơ sở. Cơ sở 2 có nghĩa là chỉ có hai chữ số – 1 và 0 – tương ứng với trạng thái bật và tắt mà máy tính của bạn có thể hiểu. Có lẽ bạn đã quen thuộc với cơ sở 10 – hệ thập phân. Thập phân sử dụng mười chữ số nằm trong khoảng từ 0 đến 9, sau đó bọc xung quanh để tạo thành các số có hai chữ số, với mỗi chữ số có giá trị gấp mười lần so với số cuối (1, 10, 100, v.v.). Nhị phân là tương tự, với mỗi chữ số có giá trị gấp hai lần so với trước.
Đếm trong nhị phân
Trong nhị phân, chữ số đầu tiên có giá trị 1 trong số thập phân. Chữ số thứ hai có giá trị 2, giá trị thứ ba 4, giá trị thứ tư 8 và cứ thế – nhân đôi mỗi lần. Thêm tất cả lên cho bạn số thập phân. Vì thế,
1111 (ở dạng nhị phân) = 8 + 4 + 2 + 1 = 15 (ở dạng thập phân)
Kế toán cho 0, điều này cung cấp cho chúng tôi 16 giá trị có thể cho bốn bit nhị phân. Di chuyển đến 8 bit và bạn có 256 giá trị có thể. Điều này chiếm nhiều không gian hơn để thể hiện, vì bốn chữ số thập phân cho chúng ta 10.000 giá trị có thể. Có vẻ như chúng ta đang trải qua tất cả những rắc rối này khi phát minh lại hệ thống đếm của chúng ta chỉ để làm cho nó trở nên gọn gàng hơn, nhưng máy tính hiểu nhị phân tốt hơn nhiều so với việc chúng hiểu thập phân. Chắc chắn, nhị phân chiếm nhiều không gian hơn, nhưng chúng tôi bị giữ lại bởi phần cứng. Và đối với một số thứ, như xử lý logic, nhị phân tốt hơn thập phân.
Có một hệ thống cơ sở khác cũng được sử dụng trong lập trình: thập lục phân. Mặc dù các máy tính không chạy trên hệ thập lục phân, các lập trình viên sử dụng nó để thể hiện các địa chỉ nhị phân theo định dạng có thể đọc được khi viết mã. Điều này là do hai chữ số thập lục phân có thể biểu thị toàn bộ một byte, tám chữ số ở dạng nhị phân. Hệ thập lục phân sử dụng 0-9 như số thập phân và cả các chữ cái từ A đến F để biểu thị sáu chữ số bổ sung.
Vậy tại sao máy tính sử dụng nhị phân?
Câu trả lời ngắn gọn: phần cứng và các định luật vật lý. Mỗi số trong máy tính của bạn là một tín hiệu điện, và trong những ngày đầu của máy tính, tín hiệu điện khó đo lường và kiểm soát rất chính xác. Thật có ý nghĩa hơn khi chỉ phân biệt giữa một trạng thái trên một trạng thái trên – được biểu thị bằng điện tích âm – và trạng thái ra khỏi – được thể hiện bằng một điện tích dương. Đối với những người không chắc chắn về lý do tại sao các điện thoại ngoài trời được biểu thị bằng một điện tích dương, đó là vì các điện tử có điện tích âm – nhiều electron hơn có nghĩa là nhiều dòng điện hơn với một điện tích âm.
Vì vậy, các máy tính có kích thước phòng ban đầu đã sử dụng hệ nhị phân để xây dựng hệ thống của chúng và mặc dù chúng sử dụng phần cứng cũ hơn, cồng kềnh hơn nhiều, chúng tôi vẫn giữ nguyên tắc cơ bản. Các máy tính hiện đại sử dụng cái được gọi là bóng bán dẫn để thực hiện tính toán với hệ nhị phân. Dưới đây là sơ đồ của bóng bán dẫn hiệu ứng trường (FET) trông như thế nào:
Về cơ bản, nó chỉ cho phép dòng điện chạy từ nguồn đến cống nếu có dòng điện trong cổng. Điều này tạo thành một chuyển đổi nhị phân. Các nhà sản xuất có thể chế tạo các bóng bán dẫn này cực kỳ nhỏ – đến tận 5 nanomet, hoặc có kích thước bằng hai sợi DNA. Đây là cách các CPU hiện đại hoạt động và thậm chí chúng có thể gặp phải các vấn đề khác biệt giữa trạng thái bật và tắt (mặc dù điều đó chủ yếu là do kích thước phân tử không thật của chúng, chịu sự kỳ lạ của cơ học lượng tử).
Nhưng tại sao chỉ có cơ sở 2?
Vì vậy, bạn có thể nghĩ, tại sao chỉ có 0 và 1? Bạn không thể thêm một chữ số nữa sao? Trong khi một số trong đó truyền thống về cách thức máy tính được chế tạo, để thêm một chữ số khác có nghĩa là chúng ta phải phân biệt giữa các cấp độ khác nhau hiện tại – không chỉ là ra khỏi đường và trên , Tuy nhiên, cũng như các bang như trên một chút
Vấn đề ở đây là nếu bạn muốn sử dụng nhiều cấp đ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ế cho điện toán nhị phân. Nó 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 mà sự phát triển của nó dừng lại khá nhiều. Logic ternary hiệu quả hơn nhị phân, nhưng cho đến nay, không ai có sự thay thế hiệu quả cho bóng bán dẫn nhị phân, hoặc ít nhất, 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 bắt nguồn từ cách các bóng bán dẫn được xếp chồng lên nhau trong một máy tính – thứ gọi là Cổng Gate.–và cách chúng được sử dụng để thực hiện toán học. Gates 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 đưa chúng ta đến câu trả lời dài: toán học nhị phân là cách dễ dàng hơn cho máy tính hơn bất kỳ thứ gì khác. Boolean logic ánh xạ dễ dàng đến các hệ thống nhị phân, với True và false được thể hiện bằng cách bật và tắt. Gates trong máy tính của bạn 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 câu trả lời cho mỗi đầu vào có thể, bạn sẽ có cái được gọi là bảng chân lý:
Một bảng chân lý nhị phân hoạt động trên logic boolean sẽ có bốn đầu ra có thể cho mỗi hoạt động cơ bản. Nhưng bởi vì các 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 một hệ thống nhị phân có 16 toán tử có thể (2 ^ 2 ^ 2), thì một hệ thống ternary sẽ có 19.683 (3 ^ 3 ^ 3). Mở rộng quy mô trở thành một vấn đề bởi vì trong khi ternary hiệu quả hơn, nó cũng phức tạp hơn theo cấp số nhân.
Ai biết? Trong tương lai, chúng ta có thể bắt đầu thấy các máy tính ternary trở thành một thứ, khi chúng ta đẩy các giới hạn của nhị phân xuống mức phân tử. Tuy nhiên, hiện tại, thế giới sẽ tiếp tục chạy trên hệ nhị phân.
Tín dụng hình ảnh: spainter_vfx / Shutterstock, Wikipedia, Wikipedia, Wikipedia, Wikipedia