Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта | Обход блокировки
Игровой комплекс Сокобан - Введи код скидки

Коллекция графов / BitArray

  • На этом уроке мы поработаем с интересной коллекцией BitArray,
    которая позволяет компактно хранить большие массивы двоичных данных.
  • Дата отправки отчёта: 15 апреля 2016 г.
  • Задание выполнено: за 15 мин.
  • Чему научился: Работать с BitArray
  • Что было сложным: Ничего
  • Комментарии: Прикольно, не знал о нём. Порылся по методам, вроде всё понятно, так что просто сделал то, что было на уроке
  • Оценка видео-уроку:
Отчёт от 9567 за Коллекция графов / BitArray




Оцени работу

 
Сохранить страницу:


Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Использовать BitArray
Трудности: Остановиться. Тоже люблю работать с битами
Мне часто приходится работать с битами. При этом результат я обычно храню как обычное число типа int (или часто использую unsigned char в Си), а для того чтобы установить или сбросить бит использую маску. int num = 0; num |= 0x01; // установить младший (нулевой) бит num &= ~0x01; // сбросить младший (нулевой) бит. num |= 0x02; // установить первый бит num &= ~0x02; // сбросить первый бит. num ^= 0x02; // перевернуть первый бит в противоположное состояние. Приходится использовать подобные конструкции, чтобы управлять состоянием линий ввода-вывода микроконтроллеров. Ну, или просто хранить состояние программы (где можно в пару байт "запихать" все возможные ошибки диагностики устройства).


Научился: Ознакомился с коллекцией BitArray, которая позволяет работать с отдельными битами.
Массив из 40000 элементов занимает в памяти всего 5000 байт. Если в памяти хранить аналогичный массив из 40000 элементов типа bool, то понадобиться 40000 байт. Очевидный выигрыш в занимаемой памяти в 8 раз, который дает BitArray . Для тестирования я выбрал методы Xor(), Or(), And() и Not() сделал с помощью их таблицу истинности, которую вы можете видеть на скриншоте.