Chuyển đổi thập phân sang bát phân

Thập phân

Bát phân là hệ đếm cơ số 8 mà bạn thường gặp nhất trong quyền tệp của Unix (chmod 755) và các ngôn ngữ lập trình cũ. Công cụ này chuyển bất kỳ số nguyên thập phân nào sang dạng bát phân. Hướng dẫn bên dưới giải thích phương pháp chia cho 8 để bạn tự kiểm tra kết quả.

Cách chuyển số thập phân sang bát phân

  1. 1

    Nhập một số nguyên thập phân

    Nhập bất kỳ số nguyên nào, ví dụ 255 hoặc 4096.

  2. 2

    Xem kết quả bát phân

    Các chữ số bát phân xuất hiện ngay lập tức, dạng trần không có tiền tố, sẵn sàng để sao chép.

  3. 3

    Tìm hiểu phương pháp

    Hướng dẫn bên dưới giải thích quy trình chia cho 8 và chồng số dư tạo thành các chữ số bát phân, để bạn tự kiểm tra kết quả.

  4. 4

    Quy tắc với số âm

    Số âm được chuyển đổi qua dạng bù hai 64 bit, đúng như định dạng `%o` trong C xuất ra.

Cách phép chia cho 8 tạo nên các chữ số bát phân

Để chuyển số thập phân sang bát phân, hãy tiếp tục chia cho 8 và thu thập các số dư từ dưới lên trên:

83 / 8 = 10 dư 3
10 / 8 = 1  dư 2
 1 / 8 = 0  dư 1
Đọc từ dưới lên: 123

Vậy 83 ở hệ thập phân bằng 123 ở hệ bát phân. Mỗi chữ số bát phân biểu diễn đúng ba bit; đó là lý do bát phân xuất hiện trong ký hiệu quyền của Unix, nơi ba bit mã hóa quyền đọc, ghi và thực thi cho từng nhóm người dùng.

Các giá trị mốc

Thập phân Bát phân Bối cảnh
7 7 Chữ số bát phân đơn lớn nhất
8 10 Giá trị bát phân hai chữ số đầu tiên
64 100 Giá trị bát phân ba chữ số đầu tiên
511 777 Giá trị 9 bit tối đa, quyền Unix đầy đủ
4.096 10000 Giá trị bát phân năm chữ số đầu tiên

Bảng tra nhanh quyền Unix

Những con số chmod quen thuộc đều là bát phân: mỗi chữ số là một mặt nạ ba bit dành cho chủ sở hữu, nhóm và mọi người còn lại.

  • 4 tương ứng với quyền đọc (read)
  • 2 tương ứng với quyền ghi (write)
  • 1 tương ứng với quyền thực thi (execute)

Vậy 755 nghĩa là chủ sở hữu có 7 (rwx), còn nhóm và mọi người có 5 (r-x). 644 nghĩa là chủ sở hữu có rw-, còn tất cả những người khác có r--.

Lưu ý: số 0 đứng đầu

Trong ngôn ngữ C, số 0 đứng đầu nghĩa là bát phân: int x = 010; gán giá trị 8 chứ không phải 10. JavaScript đã loại bỏ quy ước này vì nó gây nhầm lẫn cho mọi người. Python bỏ nó từ phiên bản 3.0. Nếu mã nguồn của bạn hiện đại, hãy ưu tiên tiền tố 0o để tránh những lỗi lệch tám lần khó nhận ra.

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

Vì hệ cơ số 8 có đúng tám chữ số hợp lệ cho mỗi vị trí. Chữ số 8 không thể tồn tại trong bát phân, cũng như số 10 không thể tồn tại trong thập phân; nếu số dư đạt 8, nó trở thành 10 ở cột kế tiếp.

Hiếm khi. Một số hệ thống nhúng và định dạng tệp cũ vẫn dựa vào bát phân, nhưng với hầu hết công việc hiện đại, hệ thập lục phân đã thay thế nó vì mỗi chữ số thập lục phân tương ứng gọn gàng với bốn bit (nửa byte) thay vì ba bit.

Không. Công cụ này chỉ xử lý số nguyên. Nếu bạn nhập giá trị có dấu chấm thập phân, chỉ phần nguyên được chuyển đổi: 12.9 cho kết quả giống như 12. Dấu phẩy thập phân không được nhận diện.

Quá trình chuyển đổi được tính toán trên máy chủ, vì vậy số bạn nhập được gửi đi như một phần của tương tác với trang và có thể nằm trong liên kết khi bạn di chuyển giữa các bước của công cụ. Số đó không được lưu trữ và không được chia sẻ với bên thứ ba.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác