overflow : Java Glossary

go to home page O words local find full screen, hide local find menu Google search web for more information on this topic jump to foot of page translate this page with Babelfish punctuation 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z (all) ©1996-2010 Roedy Green, Canadian Mind Products
overflow
Overflow occurs when the result of an integer multiply, add or subtract cannot fit in 32 bits. Java just quietly drops the high order bits. There is no exception. If you need to detect overflow, you would use long operands and examine the high order 32 bits of the result. If there was no overflow, they would be all 0 or all 1. To detect overflow from two longs would require testing the range of the operands before the operation and/or testing the sign of the result. Why does Java ignore overflow? Most computer hardware has no ability to automatically generate an interrupt on overflow. And some hardware has no ability to detect it. Java would have to explicitly test for it on every add, subtract and multiply, greatly slowing down production. Further ex-C programmers are very used to this cavalier ignoring of overflow, and commonly write code presuming that high order bits will be quietly dropped.

The Pentium has hardware overflow detect but no hardware interrupt. So if Java were to support overflow detect, inside the JVM implementation would need to add a JO “jump on overflow” instruction after every add and subtract, and special code to look at the high order bits of the 32x32->64-bit multiply. 64/32->32-bit division might need special handling.


CMP homejump to top You can get the freshest copy of this page from: or possibly from your local J: drive (Java virtual drive/mindprod.com website mirror)
http://mindprod.com/jgloss/overflow.html J:\mindprod\jgloss\overflow.html
CMP logofeedback Please email your feedback for publication, errors, omissions, typos, formatting errors, ambiguities, unclear wording, broken/redirected link reports, suggestions to improve this page or comments to Roedy Green : feedback email
mindprod.com IP:[65.110.21.43]
view BlogYour face IP:[38.107.191.112]
You are visitor number 13,122.