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 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: 1014db,582dff0b3f065a52 X-Google-Attributes: gid1014db,public X-Google-Thread: 103376,bc1361a952ec75ca X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-08-28 18:58:38 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!newsfeeds.belnet.be!news.belnet.be!newsfeed00.sul.t-online.de!t-online.de!news-lei1.dfn.de!news-nue1.dfn.de!news-han1.dfn.de!news.fh-hannover.de!news.cid.net!news.enyo.de!news1.enyo.de!not-for-mail From: Florian Weimer Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++ Subject: Re: Subtle Bugs, kudos Ada (was How Ada ...Red Code ...) Date: Wed, 29 Aug 2001 04:17:22 +0200 Organization: Enyo's not your organization Message-ID: <87d75fhaod.fsf@deneb.enyo.de> References: <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> <3B8BED46.3DEE945B@yahoo.com> <3B8C26D8.9F7FE2B2@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Xref: archiver1.google.com comp.lang.ada:12539 comp.lang.c:77322 comp.lang.c++:86337 Date: 2001-08-29T04:17:22+02:00 List-Id: Joe Maun writes: >> Under ones' complement, the bit pattern 1111...111 is non-negative; > > Wrong. If it's not a trap representation it's *negative* zero (ISO/IEC > 9899:1999 - 6.2.6.2[2]). > >> it represents the value zero. When this is right shifted by 1, it must >> result in the value 0. > > Since it is a negative value, the resulting value is > implementation-defined. The resulting bits must have the form ?111...11. How do you derive that from the standard? From the phrase 'The result of E1 >> E2 is E1 right-shifted E2 bit positions.'? What happens when we write down the bits starting with the least significant bit?