Binary là gì? Hiểu cách máy tính sử dụng cơ sở 2
Số nhị phân rất cần thiết cho máy tính, vì tất cả dữ liệu chạy qua điện thoại hoặc PC của bạn đều ở dạng nhị phân. Nhưng vì con người không tự nhiên sử dụng hệ thống số nhị phân, nó có thể khó hiểu.
Hãy cùng khám phá nhị phân là gì. Cuối cùng, bạn sẽ biết hệ nhị phân khác với hệ thống đếm thông thường của chúng ta như thế nào, số nhị phân hoạt động như thế nào, “32-bit” và “64-bit” có nghĩa là gì và tại sao điều này lại quan trọng.
Mục Lục
Hiểu Cơ sở 10: Số thập phân
Trước khi chúng ta kiểm tra hệ nhị phân, nó sẽ giúp xem xét hệ thống chữ số mà thế giới hiện đại sử dụng. Hệ thập phân, hoặc cơ số 10, là một hệ thống trong đó mỗi vị trí có thể có trong một số có thể là một trong 10 chữ số.
Để biểu thị một số có một chữ số ở dạng thập phân, chúng tôi sử dụng các chữ số từ 0 đến 9. Để cao hơn số đó, chúng tôi thêm một vị trí khác, lên tới 10, 100, 1.000 và hơn thế nữa. Ví dụ: viết ra số 1972 đại diện cho điều sau khi được chia nhỏ:
Như vậy, số 1972 bao gồm 1×1000, 9×100, 7×10 và 2×1. Vì bạn đã sử dụng hệ thống này từ khi còn là một đứa trẻ, nên đó là cách bạn nghĩ về các con số.
Nhị phân là một cách khác để tiếp cận các số — giá trị không thay đổi, nhưng theo cách chúng ta biểu diễn nó.
Đếm trong cơ số 2 với nhị phân
Nhị phân là một hệ đếm chỉ sử dụng hai số cho mỗi vị trí: 0 và 1. Nhị phân còn được gọi là “cơ số 2” Trong hệ nhị phân, để biểu diễn một số cao hơn 1, bạn cần một vị trí thứ hai.
Trong khi mỗi vị trí bổ sung trong hệ thập phân được nhân với 10, mỗi vị trí bổ sung trong hệ nhị phân được nhân với 2. Do đó, khi bạn thêm các đơn vị trong hệ nhị phân, chúng được biểu diễn như thế này, tính từ phải sang trái từ 10 vị trí đầu tiên:
512, 256, 128, 64, 32, 16, 8, 4, 2, 1
Nói cách khác, giá trị ngoài cùng bên phải trong một số nhị phân biểu thị có bao nhiêu số 1. Chữ số bên trái đại diện cho bao nhiêu số 2, tiếp theo là bao nhiêu số 4, v.v. Những giá trị đó có thể trông quen thuộc như các tùy chọn lưu trữ có sẵn trên điện thoại và các phương tiện khác — đó là nguồn gốc của chúng.
Viết ra các số dưới dạng nhị phân giúp ích rất nhiều cho việc hiểu chúng, vì đây không phải là cách đếm tự nhiên đối với chúng ta. Xem biểu đồ dưới đây để minh họa việc đếm nhị phân:
| Giá trị thập phân | 128 | 64 | 32 | 16 | số 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| 0 | 0 | |||||||
| 1 | 1 | |||||||
| 2 | 1 | 0 | ||||||
| 3 | 1 | 1 | ||||||
| 4 | 1 | 0 | 0 | |||||
| 5 | 1 | 0 | 1 | |||||
| 6 | 1 | 1 | 0 | |||||
| 7 | 1 | 1 | 1 | |||||
| số 8 | 1 | 0 | 0 | 0 | ||||
| 9 | 1 | 0 | 0 | 1 | ||||
| 10 | 1 | 0 | 1 | 0 | ||||
| 11 | 1 | 0 | 1 | 1 | ||||
| 12 | 1 | 1 | 0 | 0 | ||||
| 13 | 1 | 1 | 0 | 1 | ||||
| 14 | 1 | 1 | 1 | 0 | ||||
| 15 | 1 | 1 | 1 | 1 | ||||
| 16 | 1 | 0 | 0 | 0 | 0 | |||
| 17 | 1 | 0 | 0 | 0 | 1 | |||
| 18 | 1 | 0 | 0 | 1 | 0 | |||
| 19 | 1 | 0 | 0 | 1 | 1 | |||
| 20 | 1 | 0 | 1 | 0 | 0 | |||
| 21 | 1 | 0 | 1 | 0 | 1 | |||
| 22 | 1 | 0 | 1 | 1 | 0 | |||
| 23 | 1 | 0 | 1 | 1 | 1 | |||
| 24 | 1 | 1 | 0 | 0 | 0 | |||
| 25 | 1 | 1 | 0 | 0 | 1 | |||
| 26 | 1 | 1 | 0 | 1 | 0 | |||
| 27 | 1 | 1 | 0 | 1 | 1 | |||
| 28 | 1 | 1 | 1 | 0 | 0 | |||
| 29 | 1 | 1 | 1 | 0 | 1 | |||
| 30 | 1 | 1 | 1 | 1 | 0 | |||
| 31 | 1 | 1 | 1 | 1 | 1 | |||
| … | ||||||||
| 254 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
| 255 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 256 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Hãy dành một chút thời gian để nhìn vào bảng và đảm bảo rằng bạn hiểu ý tưởng. Ví dụ: khi bạn nhìn vào số thập phân 25, bạn sẽ có thể chia nhỏ đối số nhị phân của nó (11001) xuống 16 + 8 + 1.
Chuyển đổi từ nhị phân sang thập phân và phó bản
Để tìm ra số nhị phân ở dạng thập phân, bạn có thể vẽ biểu đồ như trên. Nó chậm, nhưng sẽ giúp bạn kiểm tra điều này một cách đáng tin cậy.
Sau khi dành một thời gian với hệ nhị phân, bạn sẽ có thể tính toán các giá trị nhỏ trong đầu của mình. Ví dụ: nếu bạn nhìn thấy số 1101001, bạn có thể xử lý nó bằng cách thêm 1, 8, 32 và 64 để có tổng số 105.
Đi từ số thập phân sang số nhị phân thì khác. Để làm điều này, trước tiên bạn nên tìm ra đơn vị nhị phân lớn nhất phù hợp với số của bạn. Ví dụ: nếu bạn muốn biết 73 là gì trong hệ nhị phân, giá trị nhị phân lớn nhất dưới giá trị này là 64, vì vậy vị trí của 64 là 1.
Sự khác biệt giữa 73 và 64 là 9, nghĩa là chúng ta cần số 1 ở vị trí của số 8 và số 1 ở vị trí của số 1 để tạo ra 9. Kết hợp tất cả những điều này lại với nhau, giá trị nhị phân của 73 là 1001001.
Khi bạn đã quen với các địa điểm, bạn sẽ có thể thực hiện các phép tính này nhanh hơn. Tuy nhiên, bất kỳ thứ gì vượt quá 512 hoặc 1,024 đều trở nên khó làm việc theo cách thủ công.
Khi làm việc với các số lớn hơn, các công cụ như Máy tính lập trình trong Windows và macOS sẽ hữu ích. Chúng cho phép bạn nhập một số ở dạng thập phân và xem số tương đương của nó ở dạng nhị phân (hoặc ngược lại). Ngoài ra còn có một chế độ chuyển đổi bit tiện dụng, cho phép bạn nhấp vào bật và tắt các chữ số nhị phân riêng lẻ để xem cập nhật giá trị trong thời gian thực.
Bit, byte và đơn vị lớn hơn
Chúng tôi sử dụng các thuật ngữ nhất định để chỉ kích thước của số nhị phân. Một chữ số duy nhất là một chút; như chúng ta đã thấy ở trên, một bit chỉ có thể đại diện cho 1 hoặc 0 của riêng nó. Điều này đủ để lưu trữ một biến Boolean, trong đó 0 là sai và 1 là đúng.
Tám bit cùng nhau được gọi là byte, là dung lượng bộ nhớ nhỏ nhất mà hầu hết các máy tính có thể hoạt động. Với một byte, bạn có thể biểu diễn các số thập phân từ 0 đến 255, là 256 giá trị có thể.
Để đếm các số nhị phân cao hơn trong lĩnh vực kích thước lưu trữ hiện đại, chúng tôi sử dụng các tiền tố SI tiêu chuẩn như kilo-, mega- và giga-. Một kilobyte là một nghìn byte, một megabyte là một triệu byte và một gigabyte là một tỷ byte. Điều này tiếp tục với terabyte và hơn thế nữa.
Thật khó hiểu, vì chúng tôi đo lường các kích thước này bằng số thập phân trong khi máy tính đo chúng ở dạng nhị phân, đôi khi bạn sẽ thấy rằng thiết bị có dung lượng lưu trữ ít hơn so với quảng cáo. Giải thích của chúng tôi về sự chênh lệch kích thước ổ cứng giải thích lý do tại sao điều này xảy ra một cách chi tiết.
Cách sử dụng nhị phân trong thực tế
Byte là một điểm tham chiếu quan trọng. Trong các máy tính đầu tiên, một byte được sử dụng để chứa một ký tự văn bản.
Nhiều trò chơi điện tử đầu tiên đã giới hạn một số bộ đếm nhất định ở 255 vì lý do tương tự. Ví dụ: các trò chơi arcade như Pac-Man bị treo sau cấp 255 vì trò chơi hết bộ nhớ. Trong Zelda gốc trên NES, số rupee (đơn vị tiền tệ của trò chơi) tối đa là 255, vì một byte là tất cả những gì trò chơi sử dụng để lưu trữ số đó. Với bộ nhớ hạn chế, các lập trình viên không muốn phân bổ thêm không gian cho các giá trị này, vì có nhiều yếu tố khác cần tính đến.
Bạn có thể áp dụng khái niệm này ở bất cứ đâu bạn nghe thấy thuật ngữ “bit”. Như một minh họa khác, sự khác biệt giữa hệ điều hành 32 bit và 64 bit phụ thuộc vào dung lượng bộ nhớ mà hệ thống có thể xử lý. Hệ thống 32-bit hỗ trợ định địa chỉ 4 byte hoặc 256 ^ 4, nghĩa là nó có khoảng 4 tỷ byte (4GB) cho các địa chỉ bộ nhớ có thể. Đây là lý do tại sao hệ điều hành 32-bit không thể sử dụng nhiều hơn 4GB RAM.
Trong khi đó, hệ điều hành 64-bit có 256 ^ 8, hoặc khoảng 18 nghìn tỷ, địa chỉ khả thi. Đây là một con số vượt quá khả năng hiểu của con người, có nghĩa là giới hạn RAM vượt xa bất cứ thứ gì chúng ta sử dụng hiện nay.
Tương tự, địa chỉ IPv4 bao gồm bốn byte (mỗi chữ số trong một địa chỉ, như 192.168.100.47, có thể ở bất kỳ đâu từ 0 đến 255). Ngày nay, có hơn bốn tỷ thiết bị kết nối internet trực tuyến, đó là lý do tại sao chúng ta hết địa chỉ IPv4. Thế giới đang dần hướng tới IPv6, có cùng giới hạn cao hơn nhiều.
Bây giờ bạn đã hiểu về hệ nhị phân, bạn có thể thấy tại sao các số giống nhau (lũy thừa của 2) lại xuất hiện khi thảo luận về nó. Bất cứ khi nào bạn gán một số bit cho một giá trị trong máy tính, bạn sẽ có một số tùy chọn hữu hạn cho nó. Giá trị đã được lựa chọn từ lâu do những hạn chế của thời gian, khi đạt đến mức tối đa là điều không tưởng, đã tạo ra giới hạn cho những cỗ máy mạnh hơn ngày nay.
Suy nghĩ như một máy tính với nhị phân
Mặc dù đây là phần giới thiệu về hệ nhị phân, nhưng còn rất nhiều thứ khác để khám phá nếu bạn quan tâm. Ví dụ, những người làm việc với hệ nhị phân thường thích hệ thập lục phân (cơ số 16) thay vì hệ thập phân, vì 2 và 16 có nhiều bội số chung hơn 2 và 10. Và việc biểu diễn số âm trong hệ nhị phân đi kèm với những mối quan tâm riêng biệt.
Nhưng phần trên là một cái nhìn tổng quan tốt về cách hệ nhị phân là hệ đếm cơ bản trong máy tính và điều đó biểu hiện như thế nào. Đi sâu hơn, bạn cũng có thể tìm hiểu cách máy tính chạy mã.
Đọc tiếp
Thông tin về các Tác giả