№ 604 Яичный кризис в США / Особая экономическая зона Алабуга / Ограбление с питонами
Функции trunc, floor, ceil из модуля math. Округление в большую или меньшую сторону в Python
Программист работает с кодом, а результат этого кода в нормальном исходе должен отдавать верные данные. Но вот бывают случае, когда надо извернуться и дать выровненные данные в пользу заказчика. Зайдет в отдел уважаемый начальник начальников и попросит сделать цены такими, чтобы число 49.1 округлилось до 50. Дескать клиент не заметит, а нам в карман 99 копеек упадёт. Всё честно ребята между собой "поделим" :-) Или обратная ситуация, что число 49.99 надо округлить до 49 против всех канонов математики и приблизиться к разряду продавца с заявленными гарантированно-низкими ценами...
⚙️ Побитовые сдвиги и двоичная арифметика: как Python скрывает сложности
Когда вы пишете x << 1 в Python, всё вроде бы просто — будто приумножаете x на два и всё.
Но под капотом Python исполняет тонны магии, которой не было бы в C или Java.
Давайте разбираться, как Python работает с битами, почему -1 >> 1 не то же самое, что в C, и почему "двоичная арифметика" не всегда бинарная. Это арифметика, где все числа представлены в бинарном (двоичном) виде — только 0 и 1. Все операции производятся на уровне битов.
В низкоуровневых языках (например, C) тип int обычно фиксированного размера — например, 32 бита со знаком...