• Транспорт • Мода • Рецепты • Блоги • Охота • Путешествия • Спорт • Веселье • Своими Руками • IT • Знания
Мини-Игры
x

x
zakruti.com » ru » IT – Софт » Компьютерные Секреты
Как работать с битами - основы программирования

Как работать с битами - основы программирования

VKTwitterOK

содержание видео

Рейтинг: 4.0; Голоса: 1
Битовые операции. Из-за того, что в компьютерах используется байтовая адресация, мы вынуждены выделять в памяти минимум 8 бит. Однако есть задачи, в которых память критична, а размер данных настолько мал, что можно обойтись и битами. В этом видео показано как работать с каждым битом в отдельности, и в какую структуру данных всё это выльется
Дата: 2023-03-12

Комментарии и отзывы: 20


За видео спасибо!
Формат конечно. практически лайфхака - делай так. Что собственно тему не раскрывает.
Как же без рекламы. проскипал.
(hexlet определённо крут)
И конечно же фронтенд.
На каждом углу за фронт больше рекламы в трое.
Обучиться можно обсалютно бесплатно. проити после курсы-интенсивы бесплатные с дз. Мфти. и прочие.
А если надо то и на курсере подать заявку на бесплатное обучение по платному курсу! И это не какая-то школа-фирма а Институты профессий it.
Но проблема то не в этом.
Проблема в сотнях и сотнях джунов которых не берут.
А если и берут то с обязательным таким условием: Выпускник какого либо вуза по какому либо из тех. мат. информат. комп. сети направления. тчк!
Остальное без требования вчера оконченого Вуза (ну или последний курс) это единицы и знать надо Гораздо больше какого либо джуна! Все для того что бы резко отличаться в плюс от остальных в резюме.
Тупо по hh даже посмотреть на реливатность вакансий и количества отклика/ков на нее.
Инфо-хайп. для тысяч.
Профессия для единиц.
Ростелеком отдельная тема.
За 20-25к работать как за троих год. После года смех.
Причём берут они Только с регионов.
В общем кому надо инфу найдёт.

ответить

(я питухонист, не судите строго)
5: 53
А в питоне в любом случае получится -9 (обожаю динамическую типизацию)
9: 39
Кстати если инвертировать выход у XOR'а и проверить что все биты равны одному, то можно получить самодельный == (хотя зачем это, если всё равно это будет медленнее, чем встроенный ==)
12: 01
2 index
12: 23
А. Ну в принципе оба варианта работают, что сказать
13: 23
Разве? Оно же на место нового бита ставит 0, разве не так?
23: 29
А вот тут было бы лучше сделать какой-нибудь класс с методами. getRow) и. getCol)
24: 21
А тут разве не удобнее было бы сделать кортёж (ака конст массив) на два int'а?
Видео интересное, но при оптимизации в какую-либо сторону (занимаемая память, нагруженность проца, удобочитаемость кода) страдают противоположные стороны (если это конечно не хеллоу ворлд где надпись Hello World! генерируется при помощи сложных махинаций с urandom, какой-нибудь CRC1024 (такой не существует официально) и где попутно майнится биткоин (т. е. типичный хеллоу ворлд на Malbolge)

ответить

На 14-й минуте небольшая неточность =)
Вы сказали, что в С++ только арифметический сдвиг. Это не так.
Если разобраться в стандарте, результат сдвига вправо знакового числа, имеющего отрицательное значение - implementation defined.
Соответственно, компилятор вправе двигать все знаковые числа либо инструкцией арифметического сдвига, либо логического.
А это весьма важный вопрос при оптимизации, т. к. много каких логических операций конвертируются в набор более простых побитовых, на последние требуется куда меньше тактов CPU и т. д. Этим нагло пользуются низкоуровневые программисты, где требуется быстрая математика, обработка и т. д.
Мануал на конкретный компилятор того же C/C++ обязан дать информацию о конкретике в реализации данного вопроса.
Разумеется, это не попытка вставить Вам палки в колеса - лет 15 назад Ваш материал для меня был бы на вес золота =)

ответить

Большое спасибо за контент. Вероятно, глупый вопрос - но мне немного не понятно. В примере с функцией, принимающей 3 bollean значения мы передаем туда сжатое число типа байт, чтобы сэкономить. Но для сравнения уже внутри функции, мы все равно выше создаем еще 3 переменные типа байт, выделяя все теже 3 байта. По памяти, разве не получается что такой момент даже хуже?
ответить

Очень круто и понятно. Я в асме работал с битами, но вот тут получил хорошие практические примеры и понимание, как можно в высокоуровневых языках делать разные манипуляции. Вроде и знаешь про операции и битовые маски, но когда видишь практические примеры, то всё сразу по полочкам раскладывается. Спасибо огромное за твой труд!
ответить

Изучение в детстве зоопарка логических микросхем (счётчики, регистры, дешифраторы) и изучение АСМа для старого доброго Спектрума позволяет воспринимать этот материал как само собой разумеющееся. И я был удивлен, когда предложил программеру работать с битами, а он не понял КАК.
ответить

Спасибо, это было круто. С одной стороны звучит все просто, а с другой для непривыкшего к двоичной системе исчисления и к Си мозга - пар из ушей. Я думаю еще пару раз повторить с интервалом пару дней и уляжется. Но звучит круто, подача непринужденная.
ответить

Если у нас дублируется лишь одно число, то можно взять сумму чисел и арифметическую прогрессию этих чисел, после чего отнять одно от другого и получить искомый дубль.
Так сможем намного более оптимизировать всё, нежели париться из-за памяти

ответить

Очень интересно, спасибо за такой подробный материал. В методе getRow округление вниз делать не нужно, т. к. вы говорили что это свойство побитового сдвига, округлять в меньшую сторону если результат не целое число.
ответить

Учусь на разработчика встраиваемых систем, предстоит программировать микроконтроллеры. А у микроконтроллеров очень мало памяти, как понимаете. Я это к чему? Благодарю за вклад в развитие новых программистов! :)
ответить

Огромное спасибо за этот материал! Всегда были некоторые сомнения во время использования побитовых сдвигов и операций над битами, а здесь предствалена вся необходимая информация! Низкий поклон за разбор!
ответить

Доброго времени суток, надеюсь не затрудню вопросом. Будет ли список книжек) Ведь скоро конец семестра, а значит отдых и саморазвитие наберут максимальные обороты) Отдельная благодарность за видеоролики.
ответить

Арифметический сдвиг числа -1 тоже ведь попадает под правило деления. Допустим мы сдвигаем -1 на один бит вправо, т. е. делим на 2, получаем -1/2. Округляем это число в меньшую сторону, получаем -1 т. к. 0 > -1
ответить

По сути весь видос как ознакомление с темой для абсолютного большинства.
Не для тех кто без опыта.
Что приводит к мысли: все это на хайп. Ну и отработки материала в своей голове.

ответить

Работаю на фронте, один раз применял эти операции. Была у нас настройка где можно выбирать дни недели, сохранялось на бек и читалось это значение в виде битового поля.
ответить

Это напомнило мне ситуацию в школе, когда в математике начали уходить цифры, и оставаться только буквы. Тут уже начали исчезать и буквы, заменяясь операторами)
ответить

ахах) круто, спасибо) Когда на работе сказали рефакторить код, а ты не хочешь больше этим заниматься и пушнув лиду такое, думаю он поймет что дела с тобой плохи)
ответить

Очень медленная подача. Серьезно, битовые операции и использование битов в разных задачах можно рассказать минут за 5. 25 это очень долго, даже на скорости 2
ответить

Очень крутая подача и сразу видно, что с нами общается знаток своего дела. Жду продолжения уроков на ассемблере, ведь одного урока недостаточно)
ответить

Мне 14 лет и я хочу досконально изучить все, что связано с компьютерами, операционными системами и айти в целом. Чувак, ты отлично помогаешь, спасибо!
ответить
Добавить отзыв, комментарий






Другие видео канала