Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #51338
| From | Marco <m.b@gmail.com> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Division and multiplication have a different behavior in the overflow case |
| Date | 2013-07-27 19:48 +0200 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <kt115f$8ec$1@speranza.aioe.org> (permalink) |
In Python 3, when we hava a division and both the result and at least
one operand are too large to convert to float, we get an exception:
>>> 2**1028 / 2**-2
Traceback (most recent call last):
File "<input>", line 1, in <module>
OverflowError: long int too large to convert to float
When the result is inside the limits, we get the right value:
>>> 2 ** 1025 / 2**10
3.511119404027961e+305
Why the behavior is different in the case of the multiplication?
>>> 2 ** 1025 * 2**-10
Traceback (most recent call last):
File "<input>", line 1, in <module>
OverflowError: long int too large to convert to float
I think the multiplication should have the same behavior than the
division:
* `inf` or `-inf` when the operands are inside the limits,
but the result is not
* `OverflowError` when the result, and at least one operand,
are out of range.
--
Marco Buttu
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
Division and multiplication have a different behavior in the overflow case Marco <m.b@gmail.com> - 2013-07-27 19:48 +0200 Re: Division and multiplication have a different behavior in the overflow case Terry Reedy <tjreedy@udel.edu> - 2013-07-27 16:56 -0400
csiph-web