1 месяц назад
🧠 Побитовые сдвиги в Python: полный гайд с примерами
Или как заставить биты двигаться и сделать за нас грязную работу. Когда мы слышим "битовые сдвиги", в голове сразу всплывают ассемблер, страшные бинарные числа и программисты в чёрных худи, шепчущие n << 1 при луне. Но на самом деле, битовые сдвиги — это мощный и удобный инструмент, который часто используется в задачах на собеседованиях, особенно там, где нужна скорость, компактность и чуть-чуть магии. В этой статье мы: Python (и другие языки) позволяет вам двигать биты числа влево и вправо: x =...
1 месяц назад
⚙️ Побитовые сдвиги и двоичная арифметика: как Python скрывает сложности
Когда вы пишете x << 1 в Python, всё вроде бы просто — будто приумножаете x на два и всё. Но под капотом Python исполняет тонны магии, которой не было бы в C или Java. Давайте разбираться, как Python работает с битами, почему -1 >> 1 не то же самое, что в C, и почему "двоичная арифметика" не всегда бинарная. Это арифметика, где все числа представлены в бинарном (двоичном) виде — только 0 и 1. Все операции производятся на уровне битов. В низкоуровневых языках (например, C) тип int обычно фиксированного размера — например, 32 бита со знаком...