Bộ chuyển đổi nhị phân

5 trên 2 xếp hạng

Bộ chuyển đổi nhị phân là công cụ miễn phí để chuyển đổi các giá trị số liên quan đến hệ nhị phân và hệ thập lục phân.

Hệ nhị phân hoạt động như thế nào?

Hệ nhị phân là hệ đếm cơ số hai, chỉ sử dụng các chữ số 0 và 1. Mỗi vị trí biểu thị một lũy thừa của hai, bắt đầu từ 2⁰ ở ngoài cùng bên phải, tiếp theo là 2¹, 2² và cứ thế tăng dần.

Ví dụ, số nhị phân 1101 tương ứng với số thập phân 13. Đọc từ phải sang trái, ta có 1 × 1, 0 × 2, 1 × 4 và 1 × 8. Tổng cộng là 1 + 0 + 4 + 8 = 13.

Một lỗi thường gặp khi tự chuyển đổi là gán 2⁰ cho chữ số ngoài cùng bên trái. Hãy bắt đầu từ bên phải. Các số 0 ở đầu, chẳng hạn như 00001101, không làm thay đổi giá trị số.

Bảng tra cứu hệ nhị phân

Thập phân Nhị phân Thập lục phân
0 0000 0
5 0101 5
10 1010 A
15 1111 F
16 10000 10

Bốn chữ số nhị phân tạo thành một nibble và tương ứng trực tiếp với một chữ số thập lục phân. Nhờ vậy, hệ thập lục phân gọn hơn khi kiểm tra byte, địa chỉ bộ nhớ và dữ liệu mạng. Khi cần dạng biểu diễn này thay vì một chuỗi bit dài, bạn có thể dùng Bộ chuyển đổi hệ thập lục phân.

Cách dùng Bộ chuyển đổi nhị phân

Dù các nhãn ghi Sang nhị phân và Sang văn bản, công cụ không mã hóa văn bản thành dữ liệu nhị phân và cũng không giải mã dữ liệu nhị phân thành văn bản. Công cụ hỗ trợ diễn giải một số nhị phân thành giá trị số và chuyển một số nguyên sang hệ thập lục phân. Trường có nhãn Nhị phân chứa giá trị số thập phân do bindec trả về hoặc chuỗi thập lục phân do dechex trả về.

Phần xử lý trên máy chủ gọi các hàm bindec và dechex của PHP. Đây là các hàm xử lý số. bindec diễn giải một chuỗi nhị phân thành số, còn dechex tạo dạng thập lục phân của một số nguyên thập phân. Do thông tin về công cụ không nêu rõ bảng mã ký tự, đừng cho rằng văn bản tùy ý, chữ có dấu hoặc emoji có thể chuyển đổi hai chiều chính xác theo một chuẩn văn bản cụ thể. Hãy dùng Trình chuyển đổi ASCII nếu bạn cần kiểm tra riêng giá trị của các ký tự ASCII.

Kết quả có ý nghĩa gì?

Tùy vào hàm được sử dụng, trường có nhãn Nhị phân sẽ chứa giá trị số thập phân do bindec trả về hoặc chuỗi thập lục phân do dechex trả về. Mặc dù trường có tên như vậy, cả hai hàm đều không trả về dữ liệu nhị phân hoặc dữ liệu đã mã hóa.

Với văn bản, các bit thường được chia thành byte rồi giải mã bằng một bảng mã ký tự như ASCII hoặc UTF-8. Dấu cách giữa các nhóm byte chỉ giúp trình bày dễ đọc hơn, không phải là chữ số nhị phân. Dấu câu cũng được mã hóa dưới dạng dữ liệu ký tự, còn các chữ số thập phân thông thường được nhập dưới dạng văn bản là ký tự chứ không phải giá trị toán học của chúng.

Không công cụ chuyển đổi nào có thể suy ra mọi ý nghĩa dự kiến từ một chuỗi bit không có thông tin mô tả. Khi kiểm tra bài tập, mã nguồn hoặc một trường giao thức, trước tiên hãy xác nhận độ rộng bit, thứ tự byte và bảng mã ký tự cần dùng.

Hệ nhị phân được dùng vào việc gì?

Hệ nhị phân được dùng ở bất cứ đâu thông tin được biểu diễn bằng hai trạng thái có thể phân biệt. Một số ứng dụng phổ biến gồm:

  • Lập trình, bao gồm mặt nạ bit, cờ trạng thái, quyền truy cập và gỡ lỗi cấp thấp.
  • Mạng máy tính, nơi mặt nạ mạng con IPv4 và các trường giao thức thường được kiểm tra theo từng bit.
  • Điện tử, nơi các mạch logic biểu diễn dải điện áp thấp và cao bằng 0 và 1.
  • Giáo dục, đặc biệt là các bài tập về giá trị theo vị trí và chuyển đổi giữa hệ nhị phân, thập phân và thập lục phân.
  • Phát thanh số, nơi âm thanh, thông tin điều khiển và dữ liệu sửa lỗi được truyền dưới dạng các luồng bit đã mã hóa trước khi phát đi.

Ký pháp nhị phân hữu ích khi cần hiểu từng bit riêng lẻ, nhưng hệ thập lục phân thường dễ đọc hơn đối với các giá trị máy dài vì mỗi chữ số thập lục phân tương ứng với bốn bit.

Câu hỏi thường gặp

Số nhị phân có được chứa dấu cách không?

Dấu cách không phải là chữ số nhị phân, dù mọi người thường chèn chúng giữa các byte để dễ đọc. Trình phân tích cú pháp có thể chấp nhận hoặc từ chối dấu cách, vì vậy hãy xóa các ký tự phân tách nếu hệ thống yêu cầu một chuỗi nhị phân liền mạch.

Hệ nhị phân có biểu diễn được emoji và chữ có dấu không?

Có, nhưng chỉ khi dùng một bảng mã ký tự đã được thống nhất, chẳng hạn như UTF-8. Những ký tự này thường chiếm nhiều hơn một byte, vì vậy việc coi mỗi ký tự hiển thị là một giá trị tám bit duy nhất sẽ cho kết quả sai.

2 và 9 có phải là chữ số nhị phân hợp lệ không?

Không. Ký pháp nhị phân tiêu chuẩn chỉ gồm 0 và 1. Nếu xuất hiện chữ số khác, hãy coi dữ liệu nhập là không hợp lệ thay vì tự động cho rằng đó là ký pháp thập phân.

Số nhị phân rất dài có còn giữ nguyên độ chính xác không?

Không nhất thiết. bindec trả về số nguyên khi giá trị nằm trong kích thước số nguyên của PHP, nếu vượt quá thì trả về số dấu phẩy động và có thể làm mất độ chính xác. dechex nhận một số nguyên, nên phạm vi của hàm phụ thuộc vào kích thước số nguyên trên máy chủ. Với các mã định danh lớn hoặc luồng bit dài, hãy dùng thư viện số nguyên lớn hoặc xử lý theo từng khối có kích thước cố định.

Dữ liệu tôi nhập có được xử lý trong trình duyệt không?

Không. Dữ liệu nhập được gửi đến máy chủ qua HTTPS để thực hiện chuyển đổi và không được lưu trữ.

Các công cụ tương tự

Bộ chuyển đổi hệ thập lục phân

Chuyển đổi văn bản sang hệ thập lục phân và ngược lại cho bất kỳ đầu vào chuỗi nào.

5,054
129
Trình chuyển đổi ASCII

Chuyển đổi văn bản sang ASCII và ngược lại cho mọi chuỗi đầu vào.

4,869
48
Bộ chuyển đổi thập phân

Chuyển đổi văn bản sang thập phân và ngược lại cho bất kỳ đầu vào chuỗi nào.

4,827
42

Công cụ phổ biến