D
D
Dmitry2016-06-21 23:18:18
Python
Dmitry, 2016-06-21 23:18:18

Why does integer division (-1 // 2) result in (-1) in Python?

Good evening. In Python, integer division, where the dividend is negative and less than the modulus of the divisor (for example, -1 // 2 ) , results in -1 . But if the dividend is positive and less than the divisor, then the answer is 0 (for example, 1 // 2 ). Isn't -1 // 2 equal to -(1 // 2) ?
Moreover, in ordinary division, where the dividend is negative and less than the divisor (for example, -1 / 2 ) , the integer part of the quotient is zero. But isn't int(-1 / 2) equal to -1 // 2 ?
How does it even work? As far as I know, the situation is the same in other EPs.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
aRegius, 2016-06-21
@dmttch

Добрый вечер.
Просто запомните, что оператор // производит деление, округляя результат до ближайшего меньшего целого значения. Вот и все.
-1 / 2 = - 0.5. Ближайшее меньшее целое значение: -1.

1
1001001, 2016-06-21
@1001001

Чему равен остаток от деления -1 на 2?
условно если у вас a делится на b, то должны быть с1 - результатом целочисленного деления и с2 остатком и все это должно соответствовать a = c1*b + c2, вот вам и и -1
азве -1 // 2 не равно -(1 // 2)? Нет, приоритет операций

Константин, 2020-07-12
@CONSTANTUS

А как прописать чтобы результат 1//2 был равен единицы, мне нужно чтобы и -1//2 и 1//2 давали 1?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question