# How // And % Work With Negative Numbers In Python eg. ( 37 % -10 )

3 min readAug 29, 2024

Disclaimer — this will probably not be useful in real life. I read up on this because I’ll be tested on this during an exam (and it’s kinda fun to learn how things work in the backend)

To understand how

`%`

(modulo) works, we need to first understand how`//`

(floor divide) works.

# How // (floor divide) works

Finding `37 // 10`

- let’s first look at true division.
`37 / 10`

is 3.7 - the floor of 3.7 is 3
`37 // 10`

is thus 3 (floor division)

# How // works for negative numbers

Finding `37 // -10`

- let’s first look at true division.
`37 / -10`

is -3.7 - the floor of -3.7 is -4 (notice that it rounds
*leftwards*) `37 // -10`

is thus -4

Finding `-37 // 10`

- let’s first look at true division.
`-37 / 10`

is -3.7 - the floor of -3.7 is -4
`-37 // 10`

is thus -4

Finding `-37 // -10`

- let’s first look at true division.
`-37 / -10`

is 3.7 - the floor of 3.7 is 3
`-37 // -10`

is thus 3