Thêm game tại WuGames.ioTài trợKhám phá kho game trình duyệt miễn phí — chơi ngay, không tải, không đăng ký.Chơi ngay

Máy tính Hex

Máy tính hex cho lập trình viên: AND/OR/XOR/NOT, dịch bit và số học với độ rộng bit 8/16/32/64 hoặc BigInt, kết quả có dấu bù 2, hex/dec/binary.

Làm thế nào để tính Thập lục phân?

Hệ thập lục phân (cơ số 16) là hệ thống số sử dụng 16 ký hiệu: 0-9 và A-F. Nó thường được sử dụng trong lập trình máy tính và hệ thống kỹ thuật số. Mỗi vị trí đại diện cho một lũy thừa của 16.

Chuyển đổi Thập lục phân sang Thập phân:

  • Viết số thập lục phân
  • Nhân mỗi chữ số với 16 lũy thừa vị trí của nó (từ phải sang trái, bắt đầu từ 0)
  • Cộng tất cả các kết quả lại với nhau

0xFF = 15×16¹ + 15×16⁰ = 240 + 15 = 255

Chuyển đổi Thập phân sang Thập lục phân:

  • Chia số thập phân cho 16
  • Viết số dư (chuyển 10-15 thành A-F)
  • Tiếp tục chia thương cho 16 cho đến khi nó bằng 0

255 ÷ 16 = 15 remainder 15 → F

15 ÷ 16 = 0 remainder 15 → F

Result: 0xFF

Bảng tham chiếu thập lục phân

DecimalHexadecimalBinary
00x00000
10x10001
100xA1010
150xF1111
160x1010000
2550xFF11111111
2560x100100000000

Về máy tính hex này

Nhập hai số ở bất kỳ tổ hợp cơ số nào — hex, decimal hoặc binary — chọn phép toán và độ rộng bit, máy sẽ trả kết quả đồng thời ở hex, thập phân không dấu, thập phân có dấu và nhị phân. Lõi tính toán dùng BigInt, nên ở chế độ Tùy ý (BigInt) các giá trị cực lớn như 0xFFFFFFFFFFFFFFFF vẫn không mất chính xác (0xFFFFFFFFFFFFFFFF + 1 = 0x10000000000000000). Bộ chọn độ rộng bit (8/16/32/64) khiến phép bitwise (AND, OR, XOR, NOT, dịch bit) tràn trong một thanh ghi cố định y như C, Rust hay Python có mask: NOT 0xFF ở 8-bit cho 0x00, và kết quả âm được hiển thị cả dưới dạng hex bù hai lẫn thập phân có dấu. Toàn bộ chạy trong trình duyệt — không có dữ liệu nào được gửi đi.

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

Đọc các chữ số hex từ phải sang trái, nhân mỗi chữ số với một lũy thừa tăng dần của 16. Với 0xFF: F×16¹ + F×16⁰ = 15·16 + 15·1 = 240 + 15 = 255. Với giá trị dài hơn như 0x1A2B: 1·16³ + 10·16² + 2·16¹ + 11·16⁰ = 4096 + 2560 + 32 + 11 = 6699. Máy đổi trong một bước — chọn 'Hex' ở cơ số đầu vào, gõ giá trị, kết quả thập phân hiển thị bên dưới.

Chia liên tục cho 16, ghi lại các số dư. Đọc số dư từ dưới lên trên ta được giá trị hex, với 10–15 viết thành A–F. Ví dụ 255: 255 ÷ 16 = 15 dư 15 (F); 15 ÷ 16 = 0 dư 15 (F). Đọc từ dưới lên: FF. Vậy 255 = 0xFF. Máy đổi cả hai chiều — chọn cơ số nguồn ở dropdown đầu vào, kết quả tự hiện ở cả ba cơ số.

Các phép bitwise AND, OR, XOR thao tác trên biểu diễn nhị phân của số, từng bit một. 0xFF AND 0x0F: dạng nhị phân 11111111 AND 00001111 = 00001111 = 0x0F (chỉ giữ lại nibble thấp). 0xA0 OR 0x0B: 10100000 OR 00001011 = 10101011 = 0xAB (gộp bit). 0xFF XOR 0x0F: 11111111 XOR 00001111 = 11110000 = 0xF0 (đảo bit tại vị trí toán hạng thứ hai bằng 1). Đây là viên gạch của lập trình bit-mask và mẹo thao tác kênh màu.

Dịch trái n bit dời mọi bit sang trái n vị trí và lấp 0 vào bên phải — tương đương nhân với 2ⁿ. 0x0F << 4 = 0xF0 (dịch trái một nibble). Dịch phải n bit dời bit sang phải và bỏ những bit rớt ra ngoài — tương đương chia nguyên cho 2ⁿ. 0xFF >> 4 = 0x0F. Dịch bit dùng để đóng/mở gói kênh màu RGB (red = (color >> 16) & 0xFF), phân tích định dạng nhị phân, và thực thi nhân/chia nhanh với lũy thừa của 2.

Mỗi cặp hex mã hoá giá trị 00–FF (0–255) — cường độ của một kênh màu. #FF0000 là đỏ tuyệt đối (R=255, G=0, B=0); #00FF00 là xanh lá tuyệt đối; #FFFFFF là trắng. Ba byte gói gọn vào sáu chữ số hex, nên định dạng này phổ biến trong CSS, công cụ thiết kế và API đồ hoạ. Dùng hex thay decimal giữ các kênh khác biệt rõ ràng (#FF6347 so với rgb(255, 99, 71)) và đơn giản hoá thao tác bit-mask cho từng kênh.

Không. 0x10 là mười sáu trong hệ thập lục phân — tiền tố '0x' báo cho người đọc (và trình biên dịch) rằng các chữ số là cơ số 16. 10 không có tiền tố là mười trong hệ thập phân. Cùng các chữ số có thể là giá trị khác nhau tuỳ cơ số: 10 trong nhị phân là 2, 10 trong hex là 16, 10 trong decimal là 10. Dropdown cơ số cạnh mỗi ô nhập giúp bạn nói rõ cơ số, không bao giờ nhập nhằng cách hiểu giá trị.

Có. Đặt dropdown độ rộng bit thành Tùy ý (BigInt) thì số học không có giới hạn độ rộng: 0xFFFFFFFFFFFFFFFF + 1 = 0x10000000000000000 (17 chữ số hex), và bạn có thể nhân hay dịch giá trị vượt xa 256-bit mà không mất chính xác. Ngược lại nếu chọn độ rộng cố định (8/16/32/64-bit), kết quả được mask về kích thước thanh ghi đó và tràn vòng — đúng như uint8_t/uint32_t/uint64_t trong C hay Rust.

Trên CPU thật không có 'bit dấu' riêng — giá trị âm được lưu dạng bù hai trong thanh ghi độ rộng cố định, nên đáp số phụ thuộc hoàn toàn vào độ rộng bit. Chọn 8/16/32/64-bit và công cụ mask kết quả về độ rộng đó: NOT 0xFF ở 8-bit = 0x00, NOT 0x00 ở 8-bit = 0xFF, và 5 − 10 ở 32-bit hiển thị hex không dấu 0xFFFFFFFB cạnh thập phân có dấu −5. Ở chế độ Tùy ý (BigInt) không có thanh ghi để tràn vòng, nên NOT và phép trừ có thể hiện giá trị kèm dấu trừ tường minh thay vì bù hai. Ô Thập phân có dấu luôn cho bạn biết kết quả độ rộng cố định được hiểu là số nguyên có dấu ra sao.

Khớp độ rộng với thanh ghi hoặc kiểu bạn đang xét: 8-bit cho một byte hoặc uint8_t, 16-bit cho short, 32-bit cho int thông thường, 64-bit cho long/con trỏ, hoặc Tùy ý (BigInt) cho tính toán số lớn chính xác không tràn. Tràn vòng nghĩa là kết quả không vừa độ rộng đã chọn chỉ giữ lại các bit thấp: 0xFF + 1 ở 8-bit = 0x00 (tràn từ 255 về 0), và 0xFFFFFFFF + 1 ở 32-bit = 0x00000000. Đây là hành vi mà firmware, hệ nhúng và dịch ngược dựa vào, và khớp với số học nguyên của C/Rust cũng như Python dùng mask & tường minh.

Địa chỉ bộ nhớ thường in dưới dạng hex (con trỏ như 0x7fff5fbff7c0 dễ đọc hơn dạng decimal 13 chữ số). Cờ bit và mask quyền sử dụng hằng hex (mode file Unix như 0644, bit cờ thanh ghi như 0x80000000). Hash mật mã và UUID hiển thị dưới dạng hex. Mã màu CSS, ID asset trong game engine, opcode disassembler, mã lỗi Windows (0x80070005 'access denied') đều là hex. Máy tính này thiết kế cho đúng kiểu số học bạn cần khi debug hay đọc tài liệu liên quan.
Máy tính Hex — Máy tính hex cho lập trình viên: AND/OR/XOR/NOT, dịch bit và số học với độ rộng bit 8/16/32/64 hoặc BigInt, kết quả có d
Máy tính Hex