Видео урок находится здесь.
В этом уроке рассказывается о двоичном представлении числа.
Что такое побитовое сложение или |.
Что такое побитовое и или умножение &.
Что такое исключающее или ^ и ~ инверсия.
Показано, как красиво (в стиле Apple) оформлять Enum для масок:
typedef enum{
TAStudentSubjectTypeBiology =1<<0,
TAStudentSubjectTypeMath =1<<1,
TAStudentSubjectTypeDevelopment =1<<2,
TAStudentSubjectTypeEngineering =1<<3,
TAStudentSubjectTypeArt =1<<4,
TAStudentSubjectTypePsychology =1<<5,
TAStudentSubjectTypeAnatomy =1<<6
} TAStudentSubjectType;
С помощью или | устанавливаются все значения:
student.subjectType= TAStudentSubjectTypeAnatomy|TAStudentSubjectTypeDevelopment| TAStudentSubjectTypeEngineering|TAStudentSubjectTypeMath;
Для вывода и проверки установлено ли значение применяется битовое & - умножение
-(NSString *) answerByType: (TAStudentSubjectType) type{
return self.subjectType&type?@"yes":@"no";
}
[self answerByType:TAStudentSubjectTypeBiology],
Еще фишка одна.
Чтобы выводить объект в NSLog необходимо переопределить метод -(NSString *) description;
Проект с уроком находится здесь.
Домашнее задание к уроку 15 Битовые маски:
Ученик.
1. Повторите мой код и создайте класс студент с соответствующим набором предметов
2. В цикле создайте 10 студентов и добавьте их в массив. Используйте мутабл массив
3. У каждого рандомно установите предметы
Студент
4. В новом цикле пройдитесь по студентам и разделите их уже на два массива - технари и гуманитарии.
5. Также посчитайте количество тех кто учит программирование
Мастер.
6. Если студенты выбрали биологию, то отмените ее у них и выведите сообщение в лог, предмет отменен
7. Тут придется разобраться как сбросить бит, включите логику :)
Супермен.
8. Сгенерируйте случайный интежер в диапазоне от 0 до максимума.
9. Используя цикл и битовые операыии (и возможно NSMutableString) выведите это число на экран в двоичном виде
Выполнены все задания к уроку (ученик, студент, мастер, супермен) 15.
Проект с домашним заданием к уроку 15 - битовые операции.
В этом уроке рассказывается о двоичном представлении числа.
Что такое побитовое сложение или |.
Что такое побитовое и или умножение &.
Что такое исключающее или ^ и ~ инверсия.
Показано, как красиво (в стиле Apple) оформлять Enum для масок:
typedef enum{
TAStudentSubjectTypeBiology =1<<0,
TAStudentSubjectTypeMath =1<<1,
TAStudentSubjectTypeDevelopment =1<<2,
TAStudentSubjectTypeEngineering =1<<3,
TAStudentSubjectTypeArt =1<<4,
TAStudentSubjectTypePsychology =1<<5,
TAStudentSubjectTypeAnatomy =1<<6
} TAStudentSubjectType;
С помощью или | устанавливаются все значения:
student.subjectType= TAStudentSubjectTypeAnatomy|TAStudentSubjectTypeDevelopment| TAStudentSubjectTypeEngineering|TAStudentSubjectTypeMath;
Для вывода и проверки установлено ли значение применяется битовое & - умножение
-(NSString *) answerByType: (TAStudentSubjectType) type{
return self.subjectType&type?@"yes":@"no";
}
[self answerByType:TAStudentSubjectTypeBiology],
Еще фишка одна.
Чтобы выводить объект в NSLog необходимо переопределить метод -(NSString *) description;
Проект с уроком находится здесь.
Домашнее задание к уроку 15 Битовые маски:
Ученик.
1. Повторите мой код и создайте класс студент с соответствующим набором предметов
2. В цикле создайте 10 студентов и добавьте их в массив. Используйте мутабл массив
3. У каждого рандомно установите предметы
Студент
4. В новом цикле пройдитесь по студентам и разделите их уже на два массива - технари и гуманитарии.
5. Также посчитайте количество тех кто учит программирование
Мастер.
6. Если студенты выбрали биологию, то отмените ее у них и выведите сообщение в лог, предмет отменен
7. Тут придется разобраться как сбросить бит, включите логику :)
Супермен.
8. Сгенерируйте случайный интежер в диапазоне от 0 до максимума.
9. Используя цикл и битовые операыии (и возможно NSMutableString) выведите это число на экран в двоичном виде
Выполнены все задания к уроку (ученик, студент, мастер, супермен) 15.
Проект с домашним заданием к уроку 15 - битовые операции.
Комментариев нет:
Отправить комментарий