T

Text Machine

Công cụ văn bản mạnh mẽ, ngay trong trình duyệt của bạn

Trình chuyển đổi hệ cơ số

Chuyển đổi một số giữa hệ nhị phân, bát phân, thập phân và thập lục phân. Nhập một giá trị, chọn hệ cơ số mà nó được viết, và xem cả bốn hệ cùng lúc — độ chính xác tùy ý, hoàn toàn trong trình duyệt của bạn, không có gì được tải lên.

Chuyển đổi từ

Số
Kết quả

Nhập một số ở trên để xem nó ở mọi hệ cơ số.

Cách sử dụng Trình chuyển đổi hệ cơ số

  1. 1

    Nhập số của bạn

    Gõ hoặc dán một số vào ô. Dấu cách và dấu gạch dưới sẽ được bỏ qua, nên các giá trị được nhóm như 1010_1101 cũng hoạt động.

  2. 2

    Chọn hệ cơ số ban đầu

    Chọn xem số của bạn được viết ở hệ nhị phân, bát phân, thập phân hay thập lục phân.

  3. 3

    Đọc mọi hệ cơ số cùng lúc

    Giá trị được hiển thị ở hệ nhị phân, bát phân, thập phân và thập lục phân cùng nhau, để bạn có thể so sánh hoặc sao chép hệ nào bạn cần.

  4. 4

    Sao chép kết quả

    Dùng nút sao chép bên cạnh bất kỳ hệ cơ số nào để đưa giá trị đó vào clipboard của bạn.

Hệ cơ số: Nhị phân, Bát phân, Thập phân và Thập lục phân

Hệ cơ số là gì

Một hệ cơ số, còn gọi là radix, là số lượng ký hiệu chữ số riêng biệt mà một hệ thống số sử dụng và do đó là giá trị của mỗi vị trí. Thập phân là cơ số 10, với mười chữ số từ 0 đến 9. Nhị phân là cơ số 2 với hai chữ số, bát phân là cơ số 8 với tám chữ số, và thập lục phân là cơ số 16 với mười sáu chữ số. Cùng một lượng có thể được viết ở bất kỳ hệ cơ số nào — chỉ các ký hiệu và trọng số cột thay đổi, còn giá trị nền tảng thì không bao giờ thay đổi.

Trình chuyển đổi này nhận một số được viết ở một hệ cơ số và hiển thị nó đồng thời ở hệ nhị phân, bát phân, thập phân và thập lục phân, nên bạn không bao giờ phải chuyển đổi hai lần. Hiểu về các hệ cơ số là chìa khóa để đọc dữ liệu máy một cách trôi chảy, vì máy tính, lập trình viên và nhiều tiêu chuẩn khác nhau, mỗi bên đều ưa chuộng một hệ cơ số khác nhau vì những lý do thực tế chính đáng.

Ký pháp vị trí xuyên các hệ cơ số

Mỗi hệ thống trong số này đều là hệ vị trí, nghĩa là giá trị của một chữ số được nhân với một lũy thừa của cơ số tùy theo cột của nó. Trong hệ thập phân, các cột tính từ bên phải là các lũy thừa của mười: hàng đơn vị, hàng chục, hàng trăm. Ở bất kỳ cơ số b nào, các cột là các lũy thừa của b: cột ngoài cùng bên phải là b mũ không (luôn là 1), rồi đến b, rồi đến b bình phương, và cứ thế. Để tìm giá trị của một số, bạn nhân mỗi chữ số với lũy thừa của cột nó và cộng các kết quả lại.

Quy tắc duy nhất này thống nhất mọi hệ cơ số. Các cột nhị phân là lũy thừa của hai (1, 2, 4, 8), các cột bát phân là lũy thừa của tám (1, 8, 64, 512), và các cột thập lục phân là lũy thừa của mười sáu (1, 16, 256, 4096). Chuyển bất kỳ số nào sang thập phân chỉ là áp dụng tổng có trọng số này; chuyển thập phân sang một hệ cơ số khác là chiều ngược lại, dùng phép chia liên tiếp cho cơ số đó.

Ký hiệu chữ số vượt quá 9

Một hệ cơ số cần đúng bằng số ký hiệu chữ số với kích thước của nó, và điều đó đặt ra một câu hỏi cho các hệ cơ số lớn hơn mười: làm sao bạn viết một chữ số đơn có giá trị lớn hơn chín? Thập lục phân giải quyết điều đó bằng cách mượn các chữ cái. Sau 0 đến 9, nó dùng A cho mười, B cho mười một, C cho mười hai, D cho mười ba, E cho mười bốn, và F cho mười lăm. Vậy một chữ số hex đơn trải các giá trị từ không đến mười lăm, và chữ hoa hay chữ thường không quan trọng, nên F và f là như nhau.

Các hệ cơ số bằng hoặc nhỏ hơn mười không cần chữ cái. Nhị phân chỉ dùng 0 và 1, bát phân dùng 0 đến 7, và thập phân dùng 0 đến 9. Đây cũng là lý do một số chữ số nhất định là không hợp lệ trong các hệ cơ số nhất định: số 8 hay 9 không thể xuất hiện trong bát phân, và chỉ 0 và 1 là hợp lệ trong nhị phân. Nếu bạn nhập một chữ số quá lớn so với hệ cơ số đã chọn, giá trị đó không phải là một số hợp lệ trong hệ cơ số đó và trình chuyển đổi sẽ báo cho bạn biết.

Vì sao mỗi hệ cơ số được sử dụng

Nhị phân là ngôn ngữ bản địa của máy tính vì các công tắc phần cứng có hai trạng thái, bật và tắt, ánh xạ trực tiếp tới 1 và 0. Mọi thứ một cỗ máy lưu trữ rốt cuộc đều là nhị phân, điều khiến cơ số 2 trở nên thiết yếu để hiểu cách dữ liệu được biểu diễn ở mức thấp nhất, dù những số nhị phân dài rất nhàm chán cho con người đọc.

Thập lục phân là cách viết tắt gọn gàng của lập trình viên cho nhị phân: một chữ số hex bằng đúng bốn bit, nên hai chữ số hex mô tả gọn một byte đầy đủ, đó là lý do hex thống trị các địa chỉ bộ nhớ, mã màu và các bản đổ byte. Bát phân nhóm các bit theo bộ ba và là di sản từ những máy tính cũ; nó vẫn xuất hiện ở những nơi như quyền truy cập tệp Unix, nơi 755 là một số bát phân. Thập phân vẫn là hệ cơ số mà con người đếm, nên nó là điểm đến tự nhiên khi một giá trị cần được một con người đọc.

Ví dụ cụ thể: 0xFF ở mọi hệ cơ số

Hãy lấy giá trị thập lục phân FF và chuyển đổi nó qua cả bốn hệ cơ số. Đọc nó theo giá trị vị trí, chữ F bên trái nằm ở cột hàng mười sáu và chữ F bên phải nằm ở cột hàng đơn vị, nên nó là 15 nhân 16 cộng 15 nhân 1, tức là 240 cộng 15, bằng 240 + 15 = 255 ở hệ thập phân. Đó là giá trị tối đa của một byte đơn.

Cùng một lượng đó là 11111111 ở hệ nhị phân — tám chữ số một, vì 255 nhỏ hơn 256 một đơn vị, mà 256 là hai mũ tám. Ở hệ bát phân nó là 377, vì 255 bằng 3 nhân 64 cộng 7 nhân 8 cộng 7. Vậy một giá trị, 255, xuất hiện thành FF, 11111111, 377 và 255 tùy theo hệ cơ số, và trình chuyển đổi này hiển thị cả bốn cùng lúc để bạn có thể so sánh chúng trực tiếp.

Một ví dụ xuyên hệ cơ số thứ hai

Hãy chuyển số thập phân 100 sang ba hệ cơ số còn lại. Với nhị phân, hãy tìm các lũy thừa của hai cộng lại bằng nó: 64 + 32 + 4 bằng 100, nên các cột 64, 32 và 4 được bật và kết quả là 1100100. Với thập lục phân, chia cho mười sáu: 100 bằng 6 nhân 16 (96) với số dư là 4, cho ra 64. Với bát phân, chia cho tám: 100 bằng 1 nhân 64 cộng 4 nhân 8 cộng 4, cho ra 144.

Vậy thập phân 100 là nhị phân 1100100, bát phân 144 và hex 64. Hãy để ý rằng hệ cơ số càng cao thì cách biểu diễn càng ngắn, vì mỗi cột mang nhiều trọng số hơn. Sự gọn gàng này chính xác là lý do thập lục phân được ưa chuộng để viết ra các giá trị byte vốn sẽ cồng kềnh ở hệ nhị phân.

Số lớn, số âm và định dạng đầu vào

Trình chuyển đổi này dùng các số nguyên lớn với độ chính xác tùy ý, nên nó chuyển đổi chính xác các giá trị vượt xa giới hạn 64-bit thông thường, không làm tròn — hữu ích khi bạn làm việc với các hàm băm dài, các định danh, hay các giá trị mật mã vốn sẽ làm tràn các kiểu số thông thường. Nó cũng chấp nhận số âm: đặt một dấu trừ phía trước và dấu này sẽ được giữ qua mọi hệ cơ số trong kết quả.

Để cho tiện, dấu cách và dấu gạch dưới trong đầu vào của bạn sẽ được bỏ qua, nên một giá trị được nhóm như 1010_1101 hay 255 255 được đọc là một số duy nhất. Điều này cho phép bạn dán các giá trị được định dạng cho dễ đọc mà không cần dọn dẹp chúng trước. Chỉ cần đảm bảo mọi chữ số đều hợp lệ với hệ cơ số bạn chọn — không có 2 trong nhị phân, không có 8 hay 9 trong bát phân, chỉ 0-9 và A-F trong hex — nếu không đầu vào sẽ bị đánh dấu là không hợp lệ với hệ cơ số đó.

Việc chuyển đổi hệ cơ số giúp ích ở đâu

Chuyển đổi hệ cơ số là một công việc hằng ngày trong lập trình và công việc hệ thống. Bạn đọc một địa chỉ bộ nhớ hay một giá trị thanh ghi ở hệ hex và muốn giá trị thập phân tương đương, bạn dịch một mẫu bit nhị phân thành hex gọn gàng, hoặc bạn giải mã một quyền truy cập Unix như 644 từ bát phân. Việc thấy cả bốn hệ cơ số cùng nhau loại bỏ sự nhẩm tính trong đầu và rủi ro sai sót trong tính toán thủ công.

Nó cũng có giá trị không kém cho việc học. Việc xử lý một số qua nhị phân, bát phân, thập phân và hex cạnh nhau khiến ký pháp vị trí trở nên rõ ràng, và nó làm sáng tỏ vì sao máy tính, lập trình viên và các tiêu chuẩn, mỗi bên đều dựa vào một hệ cơ số riêng. Dù bạn đang gỡ lỗi, học tập, hay chỉ tò mò một giá trị trông như thế nào ở một hệ thống khác, chuyển đổi giữa các hệ cơ số là một trong những thao tác hữu ích rộng rãi nhất trong tin học.

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

Làm thế nào để chuyển đổi thập lục phân sang thập phân?
Chọn Hex làm hệ cơ số ban đầu và gõ giá trị thập lục phân của bạn, chẳng hạn ff. Kết quả thập phân, 255, xuất hiện ngay lập tức cùng với dạng nhị phân và bát phân.
Những hệ cơ số nào được hỗ trợ?
Nhị phân (cơ số 2), bát phân (cơ số 8), thập phân (cơ số 10) và thập lục phân (cơ số 16). Mọi giá trị đều được hiển thị ở cả bốn hệ cùng lúc nên bạn không bao giờ phải chuyển đổi hai lần.
Nó có xử lý được những số rất lớn không?
Có. Trình chuyển đổi sử dụng big integer độ chính xác tùy ý, nên các giá trị vượt xa giới hạn 64-bit thông thường được chuyển đổi chính xác mà không có bất kỳ làm tròn nào.
Nó có chấp nhận số âm không?
Có. Thêm dấu trừ phía trước giá trị và dấu này sẽ được giữ qua mọi hệ cơ số trong kết quả.
Có gì được gửi đến máy chủ không?
Không. Việc chuyển đổi chạy hoàn toàn trong trình duyệt của bạn, nên các số của bạn không bao giờ rời khỏi thiết bị và không có gì được lưu trữ.

Công cụ liên quan

Tiếp tục với những công cụ hữu ích này

Bộ chuyển đổi Unix Timestamp

Bộ chuyển đổi JSON ↔ CSV

Bộ chuyển đổi CSV sang JSON

Bộ chuyển đổi JSON ↔ YAML

Bộ chuyển đổi Văn bản ↔ Nhị phân

Bộ chuyển đổi Văn bản ↔ Hex