Công cụ đổi hệ cơ số

Máy tính đếm bằng hai chữ số, con người đếm bằng mười, còn lập trình viên phần lớn thời gian làm việc với mười sáu. Công cụ này đổi một con số qua lại giữa bốn hệ đó cùng lúc, nên bạn thấy ngay cả bốn cách viết của cùng một giá trị thay vì đổi từng cặp một. Hệ thập lục phân tồn tại không phải để làm khó ai, mà vì nó gọn: đúng hai chữ số hệ 16 biểu diễn trọn một byte, từ 00 đến FF. Đó là lý do mã màu viết là #2563EB chứ không ai viết ra 32 bit nhị phân, và là lý do địa chỉ bộ nhớ trong trình gỡ lỗi luôn bắt đầu bằng 0x. Kết quả nhị phân được tách nhóm bốn bit một, vì mỗi nhóm bốn bit tương ứng đúng một chữ số hệ 16 — nhìn quen mắt rồi bạn đọc chéo được giữa hai hệ mà không cần tính. Ví dụ 1111 1111 là FF, 1010 là A. Công cụ còn cho biết con số cần bao nhiêu bit và vừa trong kiểu dữ liệu nào. Đây là chỗ hay sinh lỗi thật: một giá trị 70.000 không vừa trong kiểu uint16 (tối đa 65.535), gán vào sẽ bị cắt vòng về 4.464 mà chương trình không báo lỗi gì. Kiểm tra trước một giây ở đây rẻ hơn nhiều so với truy một con số sai trong cơ sở dữ liệu.

Nhập liệu
Kết quả
Thập phân (hệ 10)
255
Nhị phân (hệ 2)1111 1111
Bát phân (hệ 8)377
Thập lục phân (hệ 16)FF
Số bit cần dùng8 bit
Vừa trong kiểu dữ liệubyte / uint8
Công Cụ Tính

Công cụ liên quan

Đổi dung lượng Đổi mã màu Tính thời gian tải tệp Tính dải mạng IP Tính thời gian ngừng hoạt động SLA
Về công cụ này — cách hoạt động, công thức & câu hỏi thường gặp

Cách sử dụng

  1. Gõ giá trị cần đổi vào ô đầu tiên — có thể kèm tiền tố 0x, 0b hay 0o, công cụ tự bỏ.
  2. Chọn đúng hệ cơ số mà giá trị đang ở: hệ 2, hệ 8, hệ 10 hay hệ 16.
  3. Đọc cả bốn hệ hiện ra cùng lúc ở phần kết quả.
  4. Xem dòng "Số bit cần dùng" để biết giá trị chiếm bao nhiêu bit.
  5. Xem dòng "Vừa trong kiểu dữ liệu" trước khi chọn kiểu biến trong mã nguồn.

Công thức

Giá trị = Σ (chữ số thứ i × cơ số^i), đếm từ phải sang trái bắt đầu từ 0

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

Hệ thập lục phân dùng để làm gì?
Để viết gọn các giá trị nhị phân. Đúng hai chữ số hệ 16 là trọn một byte (00 đến FF), nên mã màu, địa chỉ bộ nhớ, mã băm và mã MAC đều viết ở hệ 16. Viết 255 dưới dạng nhị phân là 11111111 — tám ký tự; viết hệ 16 chỉ là FF — hai ký tự cho cùng một giá trị.
Ví dụ: số 255 viết ở các hệ thế nào?
Hệ 10 là 255, hệ 2 là 1111 1111, hệ 8 là 377, hệ 16 là FF. Đây là giá trị lớn nhất một byte chứa được, nên 255 xuất hiện khắp nơi: mức màu tối đa trong RGB, số nhà lớn nhất trong một dải mạng /24, giá trị cao nhất của kiểu uint8.
Vì sao kết quả nhị phân lại tách nhóm bốn chữ số?
Vì mỗi nhóm bốn bit tương ứng đúng một chữ số hệ 16. Nhóm 1111 là F, nhóm 1010 là A, nhóm 0101 là 5. Tách nhóm như vậy giúp bạn đọc chéo giữa hệ 2 và hệ 16 bằng mắt mà không phải tính toán gì.
Tràn số (overflow) là gì và vì sao cần quan tâm?
Là khi giá trị vượt quá sức chứa của kiểu dữ liệu. Kiểu uint16 chứa tối đa 65.535; gán 70.000 vào thì máy chỉ giữ 16 bit thấp, kết quả thành 4.464 và chương trình KHÔNG báo lỗi. Dòng "Vừa trong kiểu dữ liệu" của công cụ chính là để chặn tình huống đó.
Công cụ có đổi được số âm và số thập phân không?
Không. Công cụ chỉ nhận số nguyên không âm, vì số âm và số thực được máy tính mã hoá theo quy tắc riêng — bù hai cho số âm, chuẩn IEEE 754 cho số thực — chứ không phải chỉ đổi cơ số đơn thuần. Trộn hai chuyện đó vào một công cụ sẽ ra kết quả gây hiểu nhầm.

Sao chép đoạn mã này vào website của bạn để thêm công cụ. Nó hiển thị liền mạch — không thương hiệu chèn ngang, chạy trên mọi trang.

px
✓ 100% Miễn phí✓ Không cần đăng ký✓ Nhanh & Chính xác✓ Dùng trên mọi thiết bị