Mã màu RGB
color: #ff8800;color: rgb(255, 136, 0);Mỗi cặp chữ số hex là một byte (từ 0 đến 255) cho một kênh màu. ff = 255, 88 = 136, 00 = 0.
Chuyển số giữa hệ nhị phân, bát phân, thập phân và thập lục phân.
Cập nhật lần cuối
Coddy dạy bạn bằng cách viết code thật ngay trên trình duyệt: bài học tương tác, phản hồi tức thì và AI hỗ trợ khi bạn bị kẹt.
Công cụ chuyển đổi hệ cơ số nhận một số viết trong một hệ đếm (nhị phân, bát phân, thập phân hoặc thập lục phân) và viết lại nó trong bất kỳ hệ nào khác. Lập trình viên dùng nó khi đọc bitmask, gỡ lỗi mã màu, giải mã cờ trong gói tin giao thức, làm việc với thanh ghi phần cứng, và đổi qua lại giữa hex và thập phân ở mọi nơi, từ CSS, hợp ngữ đến mật mã.
Bản thân con số không thay đổi giữa các hệ cơ số, chỉ có *cách biểu diễn* thay đổi. 255 trong hệ thập phân là 0xFF trong hex, 0b11111111 trong nhị phân và 0o377 trong bát phân. Đó là bốn cách viết khác nhau cho cùng một giá trị.
Công cụ hiện đại cần xử lý được số lớn mà không mất độ chính xác. Hàm parseInt thông thường của JavaScript âm thầm làm tròn mọi số vượt quá 2⁵³, gây ra những bug khó thấy với giá trị thanh ghi 64 bit, ID và timestamp. Một công cụ chuyển đổi tốt dùng BigInt bên dưới để một giá trị hex 256 bit được đổi đi rồi đổi lại vẫn nguyên vẹn.
0xCAFE trong nhị phân là 1100 1010 1111 1110, nhìn hex dễ hơn nhiều.123n) khi làm việc với số nguyên lớn.Chọn nhị phân, bát phân, thập phân hoặc thập lục phân, tùy theo số bạn đang có.
Hex chấp nhận cả ff lẫn 0xff. Nhị phân chấp nhận cả 1010 lẫn 0b1010. Công cụ tự động bỏ tiền tố.
Cả bốn cách biểu diễn của cùng một số hiện ra ngay lập tức. Nhấn vào cách nào để sao chép cách đó.
Nhóm nhị phân theo 4 bit (1100 1010 1111 1110) và hex theo 2 ký tự (CA FE). Rất tiện khi kiểm tra bitfield và bản dump.
Các giá trị tham khảo thường gặp trong cả bốn hệ cơ số. BigInt và ngữ pháp literal số của JavaScript giải thích cú pháp dùng bên dưới.
| Thập phân | Nhị phân | Bát phân | Hex |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 16 | 10000 | 20 | 10 |
| 32 | 100000 | 40 | 20 |
| 64 | 1000000 | 100 | 40 |
| 100 | 1100100 | 144 | 64 |
| 128 | 10000000 | 200 | 80 |
| 255 | 11111111 | 377 | FF |
| 256 | 100000000 | 400 | 100 |
| 1024 | 10000000000 | 2000 | 400 |
| 65535 | 1111111111111111 | 177777 | FFFF |
color: #ff8800;color: rgb(255, 136, 0);Mỗi cặp chữ số hex là một byte (từ 0 đến 255) cho một kênh màu. ff = 255, 88 = 136, 00 = 0.
5
0b101
Bit 0 (đọc) được bật, bit 2 (thực thi) được bật, bit 1 (ghi) thì không. Vậy quyền là đọc + thực thi.
Chế độ tệp trên Unix (chmod), feature flag và gói tin giao thức đều mã hóa nhiều giá trị boolean thành các bit trong một số nguyên duy nhất. Dạng nhị phân giúp bạn nhìn thấy điều đó.
0xFFFFFFFFFFFFFFFF
18446744073709551615
Đây là số nguyên không dấu 64 bit lớn nhất. Hàm parseInt thông thường của JavaScript sẽ làm mất độ chính xác; BigInt xử lý gọn gàng.
0x10 và 10 trông giống nhau nhưng là 16 và 10: luôn ghi tiền tố hệ cơ số trong code.parseInt(big, 16) trong JavaScript với giá trị lớn hơn 2⁵³. Hãy dùng BigInt('0x' + hex) thay thế.0xF viết thành một byte là 0x0F, không phải 0xF0: số 0 ở đầu rất quan trọng với các trường có độ dài cố định.0xFFFF_FFFF là 4294967295 khi không dấu nhưng là -1 khi có dấu (bù hai).1010: 1·8 + 0·4 + 1·2 + 0·1 = 10. Hoặc dán số vào công cụ chuyển đổi hệ cơ số để có ngay kết quả.255 ÷ 16 = 15 remainder 15 → FF.#ff8800), địa chỉ bộ nhớ, bản dump tệp, địa chỉ MAC, hash và hầu hết các hệ thống cấp thấp.0755) và một số literal số trong họ ngôn ngữ C.Mỗi chữ số mới làm số giá trị biểu diễn được tăng gấp đôi. 8 bit biểu diễn được 256 giá trị; 16 bit được 65.536; 32 bit được hơn 4 tỷ. Đó là lý do bitmask chứa được nhiều ý nghĩa trong một con số nhỏ.