nicetool.dev logo

Đổi hệ cơ số

Nhập vào ô bất kỳ, các ô còn lại tự cập nhật. Chấp nhận tiền tố 0b, 0o, 0x và dấu phân cách chữ số.

8 bit1 byteVừa kiểu 8 bit

Mã bù 2

8 bit1111 11110xFF
16 bit0000 0000 1111 11110x00FF
32 bit0000 0000 0000 0000 0000 0000 1111 11110x000000FF
64 bit0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1111 11110x00000000000000FF

Cách giá trị được lưu trong kiểu số nguyên có độ rộng cố định. Số âm dùng mã bù 2; giá trị lớn hơn mức tối đa có dấu được hiển thị dạng không dấu.

Hệ cơ số là gì?

Hệ cơ số cho biết một hệ đếm theo vị trí dùng bao nhiêu chữ số. Con người đếm theo cơ số 10, máy tính lưu dữ liệu ở cơ số 2, còn lập trình viên đọc địa chỉ bộ nhớ, mã màu và giá trị byte ở cơ số 16 vì mỗi chữ số hex tương ứng đúng 4 bit. Công cụ dùng số nguyên độ chính xác tùy ý nên giá trị 64 bit hay lớn hơn đều được chuyển chính xác, không làm tròn.

Tính năng

  • • Nhị phân, bát phân, thập phân và hex cạnh nhau, cùng mọi cơ số từ 2 đến 36
  • • Số nguyên độ lớn tùy ý với BigInt, kể cả số âm
  • • Chấp nhận tiền tố 0b, 0o, 0x và dấu cách hoặc gạch dưới giữa các chữ số
  • • Số bit, số byte, nhóm chữ số và hex chữ hoa
  • • Xem mã bù 2 cho số nguyên 8, 16, 32 và 64 bit

Nhanh và riêng tư

Mọi phép chuyển đổi chạy trong trình duyệt ngay khi bạn gõ. Không có con số nào được gửi lên máy chủ.

Tính chính xác bằng BigInt, 100% trên trình duyệt.

Cách dùng công cụ Đổi hệ cơ số

  1. 1

    Nhập số vào ô bất kỳ: nhị phân, bát phân, thập phân, thập lục phân hay cơ số tùy chọn. Chấp nhận tiền tố như 0x, 0b, 0o và dấu phân cách như 1_000 hoặc khoảng trắng.

  2. 2

    Các ô còn lại cập nhật ngay lập tức. Chọn bất kỳ cơ số nào từ 2 đến 36 ở ô tùy chọn, ví dụ cơ số 36 cho ID ngắn.

  3. 3

    Bật nhóm chữ số để đọc giá trị dài (nhị phân theo nhóm 4, hex theo từng byte) và chọn hex viết hoa hay viết thường.

  4. 4

    Xem số bit và bảng mã bù 2 để biết giá trị được lưu thế nào trong số nguyên 8, 16, 32 và 64 bit, rồi sao chép định dạng cần dùng.

Ví dụ thực tế

Đọc hex dump và mã màu

0xFF là 255, nên màu CSS #FF8000 nghĩa là đỏ 255, xanh lá 128 và xanh dương 0. Đổi từng byte giúp gỡ lỗi màu sắc hay định dạng file nhị phân.

Quyền file trên Unix

chmod 755 là số bát phân. Đổi sang nhị phân được 111 101 101: chủ sở hữu có quyền đọc, ghi, chạy; nhóm và người khác có quyền đọc và chạy.

Cờ bit và mặt nạ

Các cờ tính năng lưu dưới dạng số nguyên dễ hiểu hơn ở dạng nhị phân. Giá trị 13 là 1101, nghĩa là cờ 0, 2 và 3 đang bật.

Số âm trong code cấp thấp

Mã lỗi 0xFFFFFFFF trả về từ API C chính là -1 khi hiểu là số nguyên có dấu 32 bit. Bảng mã bù 2 cho thấy cả hai cách hiểu.

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

Vì sao lập trình viên dùng hệ 16?+

Mỗi chữ số hex biểu diễn đúng 4 bit, hai chữ số là một byte. Địa chỉ bộ nhớ, mã màu, hash và giá trị byte viết bằng hex ngắn và dễ đọc hơn nhiều so với nhị phân.

Mã bù 2 là gì?+

Là cách chuẩn để máy tính lưu số nguyên có dấu. Bit cao nhất mang trọng số âm, nên với 8 bit, dãy 11111111 là -1 và 10000000 là -128.

Có giới hạn độ lớn không?+

Thực tế là không. Công cụ dùng BigInt nên số vượt xa 64 bit vẫn được chuyển chính xác, khác với máy tính chuyển sang số thực dấu phẩy động và mất chữ số.

Cơ số lớn hơn 10 dùng chữ số gì?+

Sau 0-9 là các chữ cái A-Z, nên cơ số 16 dùng 0-9 và A-F, còn cơ số 36 dùng tất cả chữ số và 26 chữ cái. Khi nhập không phân biệt hoa thường.