this is a thing i ran across while trying to figure out representation of signed no's.

both c++ and java use the 2' complement representation.

but this is the funny part try using the left bit shift operator for the no
2^31. Java first refuses to compile, then when it compiles it gives a negative no less than 2^31.
on the other hand C++ immediately gives a 0.

i don't if the c++ compiler i was using borland 5.0 was set to process only a double word and java goes beyond a double word.
but if it did go beyond then the value should not be ngative nor should it be less, as it should automatically increase itself to a quadword.

any ideas people?