Thế nào là nhị phân, và Tại sao máy tính sử dụng nó?

Mục lục:

Thế nào là nhị phân, và Tại sao máy tính sử dụng nó?
Thế nào là nhị phân, và Tại sao máy tính sử dụng nó?

Video: Thế nào là nhị phân, và Tại sao máy tính sử dụng nó?

Video: Thế nào là nhị phân, và Tại sao máy tính sử dụng nó?
Video: Cách sử dụng Touch ID trên máy Mac. - YouTube 2024, Tháng Ba
Anonim
Máy tính không hiểu các từ hoặc con 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 biểu diễ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 dữ liệu theo dạng nhị phân.
Máy tính không hiểu các từ hoặc con 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 biểu diễ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 dữ liệu theo dạng nhị phân.

Nhị phân là một hệ thống số 2 cơ số. Base 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. Có thể 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 và sau đó bao 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 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 số cuối cùng.

Đếm trong nhị phân

Trong dạng nhị phân, chữ số đầu tiên có giá trị 1 theo dạng thập phân. Chữ số thứ hai có giá trị 2, giá trị thứ ba trị giá 4, giá trị thứ tư trị giá 8 và cứ tăng gấp đôi mỗi lần. Việc thêm tất cả những thứ này sẽ cung cấp cho bạn số thập phân. Vì thế,
Trong dạng nhị phân, chữ số đầu tiên có giá trị 1 theo dạng thập phân. Chữ số thứ hai có giá trị 2, giá trị thứ ba trị giá 4, giá trị thứ tư trị giá 8 và cứ tăng gấp đôi mỗi lần. Việc thêm tất cả những thứ này sẽ cung cấp cho bạn số thập phân. Vì thế,

1111 (in binary) = 8 + 4 + 2 + 1 = 15 (in decimal)

Kế toán cho 0, điều này cho chúng ta 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 để biểu diễ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 trong việc phát minh lại hệ thống đếm của chúng ta chỉ để làm cho nó trở nên clunkier hơn, nhưng các máy tính hiểu được nhị phân tốt hơn nhiều so với chúng hiểu số 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ị phần cứng giữ lại. Và đối với một số thứ, như xử lý logic, nhị phân tốt hơn số 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: hệ 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ó để biểu diễ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 diễn một byte toàn bộ, tám chữ số trong nhị phân. Hệ thập lục phân sử dụng 0-9 như số thập phân và cũng là các chữ cái từ A đến F để biểu thị thêm sáu chữ số.

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

Câu trả lời ngắ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 tiên của máy tính, tín hiệu điện được nhiều khó khăn hơn để đo lường và kiểm soát rất chính xác. Nó có ý nghĩa hơn khi chỉ phân biệt giữa một trạng thái “bật” - được biểu thị bằng điện tích âm - và trạng thái “tắt” - được biểu diễn bằng một điện tích dương. Đối với những người không chắc chắn lý do tại sao "off" được đại diện bởi một khoản phí tích cực, đó là bởi vì các electron 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 điện tích âm.

Vì vậy, các máy tính có kích thước phòng ban đầu được sử dụng nhị phân để xây dựng hệ thống của họ và mặc dù họ đã sử dụng phần cứng cũ hơn nhiều, chúng tôi vẫn giữ nguyên nguyên tắc cơ bản. Máy tính hiện đại sử dụng thứ được gọi là bóng bán dẫn để thực hiện các phép tính với nhị phân. Dưới đây là sơ đồ về một transistor 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 tới 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ể xây dựng những bóng bán dẫn này cực kỳ nhỏ - tất cả đều giảm xuống còn 5 nano mét, hoặc bằng kích thước của 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 vấn đề phân biệt giữa các 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ực của chúng, tùy thuộc vào sự kỳ quặc của cơ học lượng tử).
Về cơ bản, nó chỉ cho phép dòng điện chạy từ nguồn tới 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ể xây dựng những bóng bán dẫn này cực kỳ nhỏ - tất cả đều giảm xuống còn 5 nano mét, hoặc bằng kích thước của 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 vấn đề phân biệt giữa các 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ực của chúng, tùy thuộc vào sự kỳ quặc 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ể suy nghĩ, "tại sao chỉ có 0 và 1? Có thể bạn chỉ cần thêm một chữ số khác?”Trong khi một số trong số đó đi theo truyền thống về cách máy tính được xây dựng, để 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 mức hiện tại khác nhau chứ không chỉ là“tắt”và“bật”, "Nhưng cũng nói như" trên một chút "và" trên rất nhiều."

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 cho điều đó không thể thay thế được cho máy tính nhị phân. Nó thực sự tồn tại; nó được gọi là một máy tính bậc ba, và nó đã được khoảng từ những năm 1950, nhưng đó là khá nhiều nơi phát triển trên nó dừng lại. Ternary logic là cách hiệu quả hơn nhị phân, nhưng đến nay, không ai có hiệu quả thay thế 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 với quy mô nhỏ như nhị phân.

Lý do chúng ta không thể sử dụng logic bậc ba đi xuống đến 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 - một thứ gọi là “cổng” -và cách chúng được sử dụng để thực hiện toán học. Gates lấy 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ột máy tính hơn bất cứ điều gì khác. Boolean logic dễ dàng ánh xạ tới các hệ nhị phân, với True và False được biểu diễn bằng và tắt. Các cổng trong máy tính của bạn hoạt động 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ẽ đồ thị câu trả lời cho từng đầu vào có thể, bạn sẽ có cái được gọi là bảng chân lý:
Đ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ột máy tính hơn bất cứ điều gì khác. Boolean logic dễ dàng ánh xạ tới các hệ nhị phân, với True và False được biểu diễn bằng và tắt. Các cổng trong máy tính của bạn hoạt động 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ẽ đồ thị câu trả lời cho từng đầ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 phép toán cơ bản. Nhưng bởi vì các cổng ba chiều lấy ba đầu vào, một bảng chân lý bậc ba sẽ có 9 hoặc nhiều hơn. Trong khi hệ nhị phân có 16 toán tử có thể (2 ^ 2 ^ 2), hệ thống bậc ba sẽ có 19.683 (3 ^ 3 ^ 3). Việc 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.
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 phép toán cơ bản. Nhưng bởi vì các cổng ba chiều lấy ba đầu vào, một bảng chân lý bậc ba sẽ có 9 hoặc nhiều hơn. Trong khi hệ nhị phân có 16 toán tử có thể (2 ^ 2 ^ 2), hệ thống bậc ba sẽ có 19.683 (3 ^ 3 ^ 3). Việc 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 giới hạn của nhị phân xuống mức phân tử. 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

Đề xuất: