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.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,582dff0b3f065a52 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,bc1361a952ec75ca X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,582dff0b3f065a52 X-Google-Attributes: gid1014db,public X-Google-ArrivalTime: 2001-08-28 12:12:07 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!nntp.cs.ubc.ca!newsfeed.direct.ca!look.ca!tor-nx1.netcom.ca!tor-nn1.netcom.ca.POSTED!not-for-mail Message-ID: <3B8BED46.3DEE945B@yahoo.com> From: Joe Maun Organization: H X-Mailer: Mozilla 4.77 [en] (Win95; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++ Subject: Re: Subtle Bugs, kudos Ada (was How Ada ...Red Code ...) References: <3B6555ED.9B0B0420@sneakemail.com> <87n15lxzzv.fsf@deneb.enyo.de> <3B672322.B5EA1B66@home.com> <4a885870.0108112341.7ce02ac0@posting.google.com> <3B834E5D.B0D26AB1@adaworks.com> <9lvsic$bet9s$1@ID-9852.news.dfncis.de> <9m0193$grs$1@bird.wu-wien.ac.at> <3B83F042.4CFB073D@home.com> <3B8462C8.5596C089@yahoo.com> <87n14nmbf8.fsf@deneb.enyo.de> <3B89A809.46083436@yahoo.com> <871ylxpxu6.fsf@deneb.enyo.de> <3B8AA131.3FCC0E9A@yahoo.com> <87g0ad44ab.fsf@deneb.enyo.de> <3B8B1130.97FFDD66@yahoo.com> <3B8BD171.32C155D2@yahoo.com> <_SRi7.115023$B37.2552767@news1.rdc1.bc.home.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Tue, 28 Aug 2001 15:13:10 -0400 NNTP-Posting-Host: 216.123.140.23 X-Complaints-To: abuse@attcanada.ca X-Trace: tor-nn1.netcom.ca 999025916 216.123.140.23 (Tue, 28 Aug 2001 15:11:56 EDT) NNTP-Posting-Date: Tue, 28 Aug 2001 15:11:56 EDT Xref: archiver1.google.com comp.lang.ada:12531 comp.lang.c:77263 comp.lang.c++:86280 Date: 2001-08-28T15:13:10-04:00 List-Id: Kaz Kylheku wrote: > The entire paragraph from C99 says this: > > The result of E1 >> E2 is right shifted E2 bit positions. > If E1 has an unsigned type, or if E1 has a signed type and > a nonnegative value, the value of the result is the integral > part of the quotient of E1 divided by the quantity, 2 raised to > the power of E2. If E1 has a signed type and a negative value, > the resulting value is implementation-defined. > > So you see, when the result is not implementation-defined, it is actually > defined *arithmetically* as the quotient of an integer division by a power > of two. The *value* is defined arithmetically, while the bit positions are defined in terms of bit-shifts. Both are properties of the shift operator. When one is implementation defined, the other may still be well defined. What do you think the first sentence is there for? -- Joe Maun Montreal, QC Canada