From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 10a146,a03ae7f4e53958e1 X-Google-Attributes: gid10a146,public X-Google-Thread: 109fba,a03ae7f4e53958e1 X-Google-Attributes: gid109fba,public X-Google-Thread: fac41,a03ae7f4e53958e1 X-Google-Attributes: gidfac41,public X-Google-Thread: 1094ba,a03ae7f4e53958e1 X-Google-Attributes: gid1094ba,public X-Google-Thread: 1014db,a03ae7f4e53958e1 X-Google-Attributes: gid1014db,public X-Google-Thread: 114809,a03ae7f4e53958e1 X-Google-Attributes: gid114809,public X-Google-Thread: fa0ae,a03ae7f4e53958e1 X-Google-Attributes: gidfa0ae,public X-Google-Thread: 103376,8775b19e3c68a5dc X-Google-Attributes: gid103376,public From: Joshua Waxman Subject: Re: Which language pays most? Smalltalk, not C++ nor Java. Date: 1997/12/30 Message-ID: #1/1 X-Deja-AN: 311468537 References: <199712121931.LAA25389@sirius.infonex.com> <685mee$5d4$1@sparcserver.lrz-muenchen.de> <34A812F9.C169A703@its.cl> <68bu22$geg$1@brie.direct.ca> X-Sender: jwaxman@acis.mc.yu.edu Content-Type: TEXT/PLAIN; charset=US-ASCII Organization: Yeshiva University Mime-Version: 1.0 Newsgroups: comp.lang.fortran,comp.lang.c,comp.lang.c++,comp.lang.eiffel,comp.lang.java.programmer,comp.lang.smalltalk,comp.lang.perl.misc,comp.lang.ada,comp.edu Date: 1997-12-30T00:00:00+00:00 List-Id: On 30 Dec 1997, Kaz Kylheku wrote: > In article , > Joshua Waxman wrote: > >> In C++ there is no way to handle overflow of integers. > > > >Check after each addition to see if you reversed signs, and act > >accordingly. > > That is absurd. Overflow invokes undefined behavior in C++. To check > for sign reversal, you would have to depend on a particular platform's > handling of overflow. On two's complement systems, overflow on addition or > subtraction can be detected by examining the most significant bit of the > result and those of the operands. This isn't true in general, however. > > It's possible to determine whether a given operation will occur by > writing a test expression (or assertion) which itself does not invoke > overflow. Oops! Thanks for pointing that out. By the way, does your later post indicate that Borland guarantees that overflow will wrap around? Also, clue me in on "undefined behavior." From the rest of your postr, I would call this "implementation dependant behavior." What are the various degrees and meanings of evil things in C++? Josh Waxman