2016-02-05 73 views
-1

我有這個角色& Hexnumbers:十六進制角色系統

0x1 - Employee | 
0x2 - Pensioner | 
0x4 - RoleOne | 
0x10 - RoleTwo | 
0x20 - RoleThree | 
0x80 - RoleFour | 
0x100 - RoleFive | 
0x1000 - Administrator 

現在我有十進制數4353(代表角色的員工,rolefive &管理員)。

我的問題是用什麼技術可以從我的十進制數4353中獲得這些角色?

回答

0

您可以將這些「角色」中的每一個視爲由特定位表示,例如, Employee = 0x1 = bit 0Pensioner = 0x2 = bit 1等。因此,您可以使用按位運算符來測試每個「角色」,例如,

if ((person & Employee) != 0) 
    // person has Employee bit set 
if ((person & Pensioner) != 0) 
    // person has Pensioner bit set 
// ... 

注意,這裏假設C-像運營商,其中&表示 「按位與」。您喜歡的編程語言可能有不同的操作員,甚至可能有執行此操作的功能。