I like to thank all of you for the information. 

Cheers

Fawaz
--- Robert Colquhoun <[EMAIL PROTECTED]> wrote:
> At 12:58 PM 5/03/2004, you wrote:
> >That is because UV (and I presumed UD) work on
> two's complement integers, so
> >the top bit flips you between a positive and a
> negative integer. This is why
> >I work the algorithm with 8 bit blocks, so that bit
> 1 in the 32 bit integer
> >is never 1 and so BITAND works as expected.
> 
> The problem was it was using signed 64 bit integers
> everywhere except in 
> these functions which seem to use 32 bit integers,
> as an example program on 
> unidata:
> 
> ININT=2147483648
> CRT "ININT = ":ININT
> CRT "BITAND(ININT, 1) = ":BITAND(ININT, 1)
> CRT "BITAND(ININT, 2^31 -1) = ":BITAND(ININT,
> 2147483647)
> CRT "BITAND(ININT, 2 ^31) = ":BITAND(ININT,
> 2147483648)
> 
> :TEST
> ININT = 2147483648                      // = 2 ^ 31
> BITAND(ININT, 1) = 1                    // should be
> 0
> BITAND(ININT, 2^31 -1) = 2147483647   // should be 0
> BITAND(ININT, 2 ^31) = 2147483647      // should be
> 2^32
> 
> In your program you have BITAND(ININT, 255) to strip
> out the smallest byte 
> which will work if and only if ININT < 2^31
> 
> I probably should report this to ibm support, but
> ibm "outsourced" our 
> support contract recently to a third party and i am
> very nervous about 
> calling them up:
>
http://www.salon.com/tech/feature/2004/02/23/no_support/index_np.html
> 
> (Sorry about the ad, but article is one of the
> funniest i have seen this year).
> 
> 
>   - Robert
> 
> 
> -- 
> u2-users mailing list
> [EMAIL PROTECTED]
> http://www.oliver.com/mailman/listinfo/u2-users


__________________________________
Do you Yahoo!?
Yahoo! Search - Find what you’re looking for faster
http://search.yahoo.com
-- 
u2-users mailing list
[EMAIL PROTECTED]
http://www.oliver.com/mailman/listinfo/u2-users

Reply via email to