Chuyển đổi hệ cơ số
Chuyển một số nguyên giữa nhị phân, bát phân, thập phân, hex và mọi cơ số đến 36, đồng thời xem mẫu bit theo số bù hai của nó.
Chạy hoàn toàn trong trình duyệt của bạn
Số bù hai
| Bit | Mẫu bit (hex, nhị phân) | Đọc như |
|---|
Số nguyên tối đa 4.096 chữ số, dương hoặc âm. Phần phân số không được chuyển đổi.
Cách chuyển đổi giữa các hệ cơ số
- Chọn cơ số mà số của bạn đang được viết, hoặc chọn Cơ số khác và nhập một cơ số từ 2 đến 36.
- Nhập số. Cho phép dấu trừ, và tiền tố
0x,0bhoặc0otương ứng cũng được chấp nhận; dấu cách và dấu gạch dưới bị bỏ qua. - Xem số đó ở mọi cơ số bên dưới, sao chép cơ số bạn cần, và kiểm tra bảng số bù hai cho các số nguyên có độ rộng cố định.
Hệ cơ số hoạt động thế nào
Cơ số (radix) là số chữ số khác nhau mà một hệ đếm sử dụng. Trong hệ thập phân, mỗi vị trí có giá trị gấp mười lần vị trí bên phải nó; trong nhị phân, gấp hai lần, nên 1101 nghĩa là 8 + 4 + 0 + 1 = 13. Hệ thập lục phân dùng mười sáu chữ số, từ 0 đến 9 rồi A đến F, và mỗi chữ số hex đại diện chính xác bốn chữ số nhị phân, đó là lý do lập trình viên dùng nó như cách viết gọn cho byte: 255 là FF, hay 11111111.
Bát phân gom các chữ số nhị phân thành nhóm ba và vẫn xuất hiện trong quyền tệp của Unix (755 nghĩa là rwxr-xr-x). Cơ số 36 dùng đủ mọi chữ số và chữ cái, thường gặp trong các ID ngắn và dịch vụ rút gọn URL.
Máy tính lưu số nguyên có dấu trong một số bit cố định bằng số bù hai, trong đó bit cao nhất mang trọng số âm. Vì vậy cùng các bit đó có thể mang hai giá trị khác nhau: 11001000 là 200 khi đọc như số không dấu và −56 khi đọc như số có dấu. Bảng dưới phần kết quả hiển thị cả hai cách đọc cho các kích thước số nguyên phổ biến.
Mẹo
- Muốn chuyển văn bản thành các byte nhị phân chứ không phải một con số? Hãy dùng Văn bản sang nhị phân.
- Mã màu như
#1636A3là ba byte hex: xem chúng trong Chuyển đổi màu và kiểm tra độ tương phản. - Unix timestamp là số giây thập phân thông thường; hãy chuyển đổi bằng Chuyển đổi Unix timestamp.
Câu hỏi thường gặp
Công cụ chuyển đổi được số lớn đến mức nào?
Tối đa 4.096 chữ số ở cơ số đầu vào. Việc chuyển đổi dùng phép toán số nguyên chính xác (BigInt), nên các giá trị rất lớn như 2⁶⁴ + 1 = 18446744073709551617 được chuyển đổi mà không làm tròn, khác với các máy tính chuyển sang dấu phẩy động khi vượt khoảng 9 triệu tỷ.
Có chuyển đổi được phân số như 0,1 không?
Không. Chỉ số nguyên được chuyển đổi, và dấu thập phân sẽ được báo là lỗi chứ không bị lặng lẽ bỏ đi. Nhiều phân số không có dạng chính xác ở cơ số khác: 0,1 trong hệ thập phân là một dãy lặp trong nhị phân, và đó là lý do 0,1 + 0,2 không đúng bằng 0,3 trong hầu hết ngôn ngữ lập trình.
Số bù hai cho biết điều gì?
Đó là cách máy tính lưu số nguyên có dấu trong một số bit cố định. Số âm −n được lưu là 2 lũy thừa số bit, trừ n, nên −1 trong 8 bit là 11111111 (FF). Bảng hiển thị mẫu bit cho 8, 16, 32 và 64 bit, cùng ý nghĩa của mẫu đó khi đọc như số nguyên có dấu và không dấu. Nếu số không vừa độ rộng nào, dòng đó sẽ ghi rõ thay vì tràn vòng.
Các chữ số vượt quá cơ số 10 được biểu diễn thế nào?
Bằng chữ cái, như hầu hết ngôn ngữ lập trình: A là 10, B là 11 và cứ thế đến Z là 35, nên cơ số 36 là cao nhất. Đầu vào chấp nhận chữ hoa hoặc chữ thường; tùy chọn chữ hoa quyết định định dạng đầu ra.
Vì sao một chữ số bị báo là không hợp lệ?
Mỗi cơ số chỉ cho phép các chữ số nhỏ hơn giá trị của nó: nhị phân cho phép 0 và 1, bát phân từ 0 đến 7, hex từ 0 đến 9 và từ A đến F. Thông báo lỗi nêu tên ký tự và vị trí của nó để bạn tìm ra lỗi gõ, hoặc chuyển sang đúng cơ số mà số đang được viết.