Java. Побитовые операторы.
Vložit
- čas přidán 19. 04. 2020
- В этом видео разбираем, как работают побитовые операторы в языке программирования Java. Так же знакомимся с двоичным представлением чисел, и быстрым переводом из двоичной системы счисления в десятичную и обратно.
Рассматриваем примеры того, что можно делать с помощью битовых операций, а именно: управление отдельными битами, быстрое деление и умножение на степени двойки с помощью сдвигов, распаковка целого числа на составляющие байты, а так же создание класса - битового массива.
Исходные коды примеров из видео:
github.com/Arhiser/java_tutor...
Поддержать канал💰:
yoomoney.ru/to/410018856244871
#ArhiTutorialsJava #ityoutubersru
Таблица для перевода это гениальнл
Сергей, мое почтение, у Вас очень яркий преподавательский талант, снимаю кепку. Все очень доступно доносите. Спасибо Вам большое!
Большое спасибо за видео! Всё очень хорошо и доступно объясняется!
Спасибо. До этого видео до конца не понимал работу со сдвигами.
Спасибо. Стало понятно.
Я в шоке как же доходчиво вы объясняете. Без сарказма, спасибо!!!
Ты гений, работая айтишником ты наверно очень крутой прогер. Спасибо за свой труд бро.
Это какой-то новый уровень "прослушки" чужих мыслей. Только у меня в голове назревает вопрос, который я собираюсь написать в комментарии, так вы тут же на него отвечаете.
Очень круто! Большое спасибо за ваш труд!
Bravo Bravisimo Imperarisimo!!! Это было очень круто. Как сказал агент: "Ещё - Ещё - Ещё!!!"
Вот - так!
Вот - так!
Спасибо большое все четко и по сути. Спасибо!
Бля чувак ты красава! Очень понятно развернуто и доступно. Сравниваю с другими уроками на ютубе, твое объяснение очень понятное и доходчивое. От души душевно с душою в душу! Благодарю одним словом!
Большое спасибо за видео, очень доходчиво объяснили!)
Спасибо за отличное познавательное видео.
Спасибо за отличное видео!
супер
Хорош!
Большое спасибо!
Самое крутое видео про битовые операции!
Спасибо! Хорошо объясняешь
Спасибо за видео
I respect you! You are really a teacher!)
Спасибо!
Спасибо 🙏😌
спасибо огромное
Было интересно
Попробуйте записать цикл видео с паттернами проектирования
Всегда избегал эту тему, т.к. почему-то боялся её что ли.. теперь веки подняты))) страх ушёл! Спасибо большое!
Да, я тоже)
04:04
добрый день, не понял на 18:55 сдвигаем черный на 24, на 16 красный, на 8 зеленый и синий не двигаем (0), так вот почему именно на эти (24, 16, 8 и 0) числа сдвигаем и почему именно в таком порядке (альфа, красный, зеленый, синий)? подскажите
Если в битах смотреть, то структура цвета такая:
AAAAAAAA RRRRRRRR GGGGGGGG BBBBBBBB
8 бит - прозрачность, за ними
8 бит - красный,
8 бит - зеленый,
8 бит - синий.
Теперь пусть у нас есть по отдельности все компоненты
AAAAAAAA
RRRRRRRR
GGGGGGGG
BBBBBBBB
Чтобы составить из них int, нужно каждый компонент сдвинуть на свое место. Получится
AAAAAAAA 00000000 00000000 00000000
+ RRRRRRRR 00000000 00000000
+ GGGGGGGG 00000000
+ BBBBBBBB
= AAAAAAAA RRRRRRRR GGGGGGGG BBBBBBBB
То есть прозрачность сдвигаем на 24 разряда, красный на 16, зеленый на 8, синий - так и будет на своем месте.
как часто используются битовые операции в программирование?
В нормальном программировании используются редко. Чаще всего отдельные биты используются в качестве флагов, для установки различных параметров. Например в Windows API такого добра полно, вот к примеру, описание флагов стиля окна:
docs.microsoft.com/en-us/windows/win32/winmsg/window-styles
Ну и если писать какие-то алгоритмы, связанные с кодированием, то там без битовых операций никуда.
Сергей не очень понимаю синтаксис разложения на цвета обратно.
А будут видео про котлин?
Сергей здравствуйте. А у вас нет строницы в Контакте мли где то еще?
czcams.com/video/RIyz2_0FTbE/video.html
Мы выполняем операцию "логическое И". Почему мы теперь сравниваем полученный результат "больше 0 или нет"? Не могу понять...
операция вернет либо ноль либо некое число это и будет как true или false.
В конце речь про т.н биг эндиан и литл эндиан? ))
Да, именно. Когда пишешь int в битовый массив, то можно сначала старшие байты писать, потом младшие, а можно наоборот. Разницы нет, но потом при чтении из массива главное не перепутать)
А если число больше 256? Например 1000
Абсолютно так же. Ищем ближайшее число < искомого, в данном случае берем 2^9 = 512.
1000-512 =488.
Следующее ближайшее число - 256 -> 488-256 = 104.
Следующее 64 -> 104-64 = 40.
Следующее 32 -> 40-32 = 8. Следующее 8 -> 8 - 8 = 0.
Получается в итоге: 1111101000
*Грех не подписаться*
поплыл на середине. явно не для новичков.