R
Robin Becker
I'm sure we've had this discussion before, but I'm getting a bunch of
problems related to various algorithms related to 32 bit arithmetic.
The particular error/warnings I'm seeing are
FutureWarning: hex/oct constants > sys.maxint will return positive
values in Python 2.4 and up
FutureWarning: x<<y losing bits or changing sign will return a long in
Python 2.4 and up
related to the use of 0x81020304 and << respectively.
Can someone tell me
1) What feature makes these warnings errors?
2) What's the right way to do the bit shifting modulo 32 bits?
The same kinds of problems exist in java, but we don't get the warnings
regarding the use of 0x80000000. Do I need to replace all 0x8........
numbers with the L version and ensure all << shifts are masked with
0xffffffffL ? Surely there will be some compatibility issues.
problems related to various algorithms related to 32 bit arithmetic.
The particular error/warnings I'm seeing are
FutureWarning: hex/oct constants > sys.maxint will return positive
values in Python 2.4 and up
FutureWarning: x<<y losing bits or changing sign will return a long in
Python 2.4 and up
related to the use of 0x81020304 and << respectively.
Can someone tell me
1) What feature makes these warnings errors?
2) What's the right way to do the bit shifting modulo 32 bits?
The same kinds of problems exist in java, but we don't get the warnings
regarding the use of 0x80000000. Do I need to replace all 0x8........
numbers with the L version and ensure all << shifts are masked with
0xffffffffL ? Surely there will be some compatibility issues.