# Phân quyền trên bitwise kinh điển

#

Giả sử ta có 4 quyền View, Edit, Add, Delete tương ứng với 4 bit từ phải qua trái. Từng quyền trên hệ nhị phân và thập phân

View   =>  0001  =>  1 
Edit   =>  0010  =>  2  
Add    =>  0100  =>  4
Delete =>  1000  =>  8
  Delete    Add     Edit      View
    1        1        1        1

# Khi ta có nhiều quyền

View + Edit =  1 + 2 = 3 (0011)
Add  + Delete = 4 + 8 = 12  (1100)
View + Add + Delete = 1 + 4 + 8 = 13 (1101)
Full = 1 + 2 + 4 + 8 = 15   (1111)

# Kiểm tra quyền

Ví dụ muốn kiểm tra quyền View ở bit thứ 1. View giá trị là 1.

View + Edit =  1 + 2 = 3 (0011)
Kiểm tra => 3 & 1   => 1 

Add  + Delete = 4 + 8 = 12  (1100)
Kiểm tra => 12 & 1  => 0

View + Add + Delete = 1 + 4 + 8 = 13 (1101)
Kiểm tra => 13 & 1  => 1