In python 2 7 the operator works as a floor division for integer arguments.
Impletemt true division and floor division in coco.
The integer division value is added with the checking value to get the ceiling value.
The result is that of mathematical division with the floor function applied to the result.
When dividing an integer by another integer in python 3 the division operation x y represents a true division uses truediv method and produces a floating point result.
From the ansi c draft 3 3 5.
So for example 5 2 is 2.
Floor division and modulo are linked by the following identity x x y y x y which is why modulo also yields unexpected results for negative numbers not just floor division.
The numeric arguments are first converted to a common type.
But if one of the operands is negative the result is floored i e rounded away from zero towards negative infinity.
Division and type conversion.
The division and floor division operators yield the quotient of their arguments.
Dirkgently gives an excellent description of integer division in c99 but you should also know that in c89 integer division with a negative operand has an implementation defined direction.
The standard division symbol operates differently in python 3 and python 2 when applied to integers.
For python 2 x dividing two integers or longs uses integer division also known as floor division applying the floor function after division.
Meanwhile the same operation in python 2 represents a classic division that rounds the result down.
In python 3 is float division.
In python 2 is integer division assuming int inputs in both 2 and 3 is integer division to get float division in python 2 requires either of the operands be a float either as 20.
A b returns the integer division value and a b 0 is a checking condition which returns 1 if we have any remainder left after the division of a b else it returns 0.
If either operand is negative whether the result of the operator is the largest integer less than the algebraic quotient or the smallest integer greater than the algebraic.
Floor division the division of operands where the result is the quotient in which the digits after the decimal point are removed.
If you want floor division use available in python 2 2 and later.
Given below is the illustration of the above approach.
2 3 first output is fine but the second one may be surprising if we are coming java c world.
Using to do division this way is deprecated.