Мне поручено создать систему разрешений с использованием побитовых операторов, и кто-то спросил меня, что если нам нужно более 32 разрешений, в настоящее время у нас есть это:
enum permissions {
none = 0,
Founder = 1 << 0,
SeeAdmins = 1 << 1,
EditAdmins = 1 << 2,
SeeText = 1 << 3,
EditText = 1 << 4,
PublishWork = 1 << 5
}
Что является управляемым, но это не такНемыслимо, что мы добавим более 32, быстрый тест дал мне такие результаты:
1 << 30 = 1073741824
1 << 31 = -2147483648
1 << 32 = 1
Возможно ли даже иметь более 32 байтовых значений, подобных этому?