Целые числа можно легко делить на степени двойки используя команду sar. Однако команда sar может дать результат отличный от полученного с помощью команды idiv.
idiv округляет результат в сторону нуля. Знак остатка всегда равен знаку делимого.
17 idiv (-8) = -2 (1 в остатке) 17 = (-8) * (-2) + 1 -17 idiv 8 = -2 (-1 в остатке) -17 = 8 * (-2) + (-1)
В вычислениях с sar, результат округляется в меньшую сторону (в сторону минус бесконечности)
-17 sar 3 = -3
Комментариев нет:
Отправить комментарий