Эти операнды называются битами сдвига.Операнд битшифта может быть предпочтительным по двум причинам.- Для быстрой работы - Используйте несколько значений bool за один раз.
Например: 1 << 2 - сдвиг влево;это означает 1: 0001, 2: 0010 </p>
1 << 2, эта строка означает, что 2 должно быть оставлено на один бит.В результате значение 0010 смещено на 0100 </p>
Также смещенное значение должно быть упорядочено как 1,2,4,8,16 ...
typedef NS_OPTIONS(int, EntityEngineer) {
EntityEngineeriOS = 1 << 0,
EntityCategoryAndroid = 1 << 1,
EntityCategoryDB = 1 << 2,
EntityCategoryTeamLead = 1 << 16,};
Теперь мы хотим проверить множественное логическое значение вниже строки,
char engineer = (EntityEngineeriOS | EntityCategoryAndroid);
char 0011 = (0001 | 0010);
if (engineer & EntityEngineeriOS) {
NSLog(@"we are looking for a developer who can write objective c or java");
}
if (engineer & EntityCategoryDB) {
NSLog(@"we are not looking for a DB manager");
}
Результат: мы ищем разработчика, который может написать цель c или java