[issue10346] strange arithmetic behaviour

2010-11-07 Thread Alexey Radkov

New submission from Alexey Radkov alexey.rad...@gmail.com:

The following excerpt will show the issue:

$ python
Python 2.7 (r27:82500, Sep 16 2010, 18:02:00) 
[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)] on linux2
Type help, copyright, credits or license for more information.
 8 * 4 / ( 2 - 7 ) * 6 / 3
-14


Why it is evaluated to -14 ?? In floating point arithmetic it should be -12.8, 
in integer arithmetic i believe it should be -12 (at least bc and a small 
dedicated C program evaluate it to -12). Perhaps i do not understand some 
specific python arithmetic priority or associativity rules, anyway i cannot 
find a specific combinations of them to yield -14 in this expression.

--
components: None
messages: 120665
nosy: alexey.radkov
priority: normal
severity: normal
status: open
title: strange arithmetic behaviour
type: behavior
versions: Python 2.7

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10346
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue10346] strange arithmetic behaviour

2010-11-07 Thread Mark Dickinson

Mark Dickinson dicki...@gmail.com added the comment:

It's not a bug:  you're seeing Python's rules for integer division, which do 
indeed differ from those of (some) other languages when either the divisor or 
the dividend is negative.  For integers x and y, in Python 2.x, x / y gives the 
floor of the exact quotient.

 -32 / 5
-7
 32 / -5
-7

In Python 3.x, the '/' operator does 'true division', giving you (a 
floating-point approximation to) the true result:

 -32 / 5
-6.4
 32 / -5
-6.4

You can also get this behaviour in Python 2.x if you start your script with 
'from __future__ import division'.

See the documentation at:

http://docs.python.org/reference/expressions.html#binary-arithmetic-operations

for more.

--
nosy: +mark.dickinson
resolution:  - invalid
status: open - closed

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue10346
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com