DEC2OCT, OCT2DEC: hệ bát phân, và ý nghĩa thật của quyền file Unix dạng 755
Chia sẻ
"DEC2OCT và OCT2DEC chuyển đổi giữa thập phân và bát phân — hệ đếm ít gặp trong đời sống hàng ngày nhưng vẫn còn dùng để biểu diễn quyền truy cập file kiểu Unix, như con số 755 quen thuộc khi chạy lệnh chmod."
Bài trước, DEC2HEX, HEX2DEC làm việc với hệ thập lục phân. DEC2OCT và OCT2DEC chuyển sang hệ bát phân — hệ đếm cơ số 8, ít gặp trong đời sống hàng ngày nhưng vẫn còn xuất hiện ở một nơi quen thuộc với dân kỹ thuật: quyền truy cập file kiểu Unix.
Công thức trong bài dùng dấu phẩy (,); đổi sang dấu chấm phẩy (;) nếu Excel của bạn cấu hình theo vùng miền khác.
Cú pháp
=DEC2OCT(so, [do_dai])
=OCT2DEC(so_bat_phan)
Cùng nguyên lý với DEC2BIN/DEC2HEX — số âm dùng bù hai, lần này trên 10 ký tự bát phân (2^30).
Ý nghĩa thật của quyền file Unix "755"
Lệnh chmod 755 file.sh quen thuộc với ai từng dùng dòng lệnh Linux/macOS — con số 755 thực chất là một số bát phân, mỗi chữ số đại diện cho một nhóm quyền:
=OCT2DEC(755)
OCT2DEC(755) cho 493 — nhưng ý nghĩa thật không nằm ở con số thập phân này, mà ở cách đọc từng chữ số bát phân riêng lẻ: chữ số 7 (chủ sở hữu) = 4+2+1 = đọc-ghi-thực thi; chữ số 5 thứ nhất (nhóm) = 4+0+1 = đọc-thực thi (không ghi); chữ số 5 thứ hai (người khác) = 4+0+1 = đọc-thực thi. Hệ bát phân được chọn cho việc này chính vì mỗi chữ số bát phân (0-7) vừa khít biểu diễn 3 bit quyền (đọc/ghi/thực thi) độc lập cho từng nhóm.
Chuyển từ thập phân sang bát phân
=DEC2OCT(493)
Kết quả là "755" — đúng chiều ngược lại, tái tạo lại chuỗi bát phân từ giá trị thập phân 493.
Số âm dùng bù hai trên 10 chữ số bát phân
=DEC2OCT(-9)
Kết quả là "7777777767" — đủ 10 chữ số bát phân, dùng bù hai theo modulo 2^30, cùng nguyên lý với DEC2BIN/DEC2HEX nhưng khác cơ số nền và độ dài biểu diễn.
Phạm vi hợp lệ
=DEC2OCT(600000000)
Phạm vi số hợp lệ từ -536.870.912 đến 536.870.911 (giới hạn bởi 2^30) — vượt quá sẽ báo lỗi #NUM!, rộng hơn hẳn DEC2BIN nhưng hẹp hơn DEC2HEX.
Tổng kết
DEC2OCT và OCT2DEC chuyển đổi giữa thập phân và bát phân, cùng nguyên lý bù hai với DEC2BIN/DEC2HEX nhưng dùng 10 chữ số bát phân (2^30). Ứng dụng thực tế rõ nhất ngoài đời là giải mã ý nghĩa các con số quyền file kiểu Unix (755, 644...) mà dân lập trình/quản trị hệ thống gặp hàng ngày.
Đọc tiếp trong cùng cụm bài: BIN2HEX, HEX2BIN — chuyển đổi trực tiếp giữa hai hệ đếm, không cần qua bước trung gian thập phân.
Mục lục
Muốn làm chủ Excel?
Tham gia khóa học E-Learning của Trà Đá Data để được hướng dẫn chi tiết từ A-Z với Case Study thực tế.
Tìm hiểu ngayBài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
DELTA, GESTEP: hai hàm so sánh trả về đúng 0 hoặc 1, tiện làm cờ hiệu trong công thức
DELTA kiểm tra hai số có bằng nhau hay không, GESTEP kiểm tra một số có đạt ngưỡng hay không — cả hai đều trả về đúng 0 hoặc 1 thay vì TRUE/FALSE, tiện dùng làm cờ hiệu số học nhân trực tiếp vào công thức khác.
BIN2HEX, HEX2BIN: chuyển đổi trực tiếp giữa hai hệ đếm, không cần qua bước trung gian thập phân
BIN2HEX và HEX2BIN chuyển thẳng giữa nhị phân và thập lục phân trong một bước, không cần công thức lồng qua DEC2BIN/DEC2HEX trung gian. Excel còn có đủ 6 cặp hàm chuyển đổi trực tiếp tương tự giữa ba hệ đếm nhị-bát-thập lục phân.
DEC2HEX, HEX2DEC: cùng nguyên lý bù hai nhưng cho hệ thập lục phân, phạm vi rộng hơn nhiều
DEC2HEX và HEX2DEC chuyển đổi giữa thập phân và thập lục phân, cùng nguyên lý bù hai với DEC2BIN nhưng dùng 10 ký tự hex thay vì 10 bit, cho phạm vi số hợp lệ rộng hơn hẳn.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.