mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-16 09:53:36 +00:00
library/uint.m:
Add checked left and right shift operations on uints.
tests/hard_coded/Mmakefile:
tests/hard_coded/uint_bitwise.m:
Test bitwise operators on uints.
tests/hard_coded/uint_bitwise.exp:
Expected output for 64-bit machines.
tests/hard_coded/uint_bitwise.exp2:
Expected output for 32-bit machines (as well as the
C# and Java grades).
326 lines
26 KiB
Plaintext
326 lines
26 KiB
Plaintext
*** Test unary operation '\' ***
|
|
|
|
\ 00000000000000000000000000000000 = 11111111111111111111111111111111
|
|
\ 00000000000000000000000000000001 = 11111111111111111111111111111110
|
|
\ 00000000000000000000000000000010 = 11111111111111111111111111111101
|
|
\ 00000000000000000000000000001000 = 11111111111111111111111111110111
|
|
\ 00000000000000000000000000001010 = 11111111111111111111111111110101
|
|
\ 00000000000000000000000000010000 = 11111111111111111111111111101111
|
|
\ 11111111111111111111111111111111 = 00000000000000000000000000000000
|
|
|
|
*** Test binary operation '/\' ***
|
|
|
|
00000000000000000000000000000000 /\ 00000000000000000000000000000000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 /\ 00000000000000000000000000000001 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 /\ 00000000000000000000000000000010 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 /\ 00000000000000000000000000001000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 /\ 00000000000000000000000000001010 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 /\ 00000000000000000000000000010000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 /\ 11111111111111111111111111111111 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 /\ 00000000000000000000000000000000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 /\ 00000000000000000000000000000001 = 00000000000000000000000000000001
|
|
00000000000000000000000000000001 /\ 00000000000000000000000000000010 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 /\ 00000000000000000000000000001000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 /\ 00000000000000000000000000001010 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 /\ 00000000000000000000000000010000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 /\ 11111111111111111111111111111111 = 00000000000000000000000000000001
|
|
00000000000000000000000000000010 /\ 00000000000000000000000000000000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 /\ 00000000000000000000000000000001 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 /\ 00000000000000000000000000000010 = 00000000000000000000000000000010
|
|
00000000000000000000000000000010 /\ 00000000000000000000000000001000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 /\ 00000000000000000000000000001010 = 00000000000000000000000000000010
|
|
00000000000000000000000000000010 /\ 00000000000000000000000000010000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 /\ 11111111111111111111111111111111 = 00000000000000000000000000000010
|
|
00000000000000000000000000001000 /\ 00000000000000000000000000000000 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 /\ 00000000000000000000000000000001 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 /\ 00000000000000000000000000000010 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 /\ 00000000000000000000000000001000 = 00000000000000000000000000001000
|
|
00000000000000000000000000001000 /\ 00000000000000000000000000001010 = 00000000000000000000000000001000
|
|
00000000000000000000000000001000 /\ 00000000000000000000000000010000 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 /\ 11111111111111111111111111111111 = 00000000000000000000000000001000
|
|
00000000000000000000000000001010 /\ 00000000000000000000000000000000 = 00000000000000000000000000000000
|
|
00000000000000000000000000001010 /\ 00000000000000000000000000000001 = 00000000000000000000000000000000
|
|
00000000000000000000000000001010 /\ 00000000000000000000000000000010 = 00000000000000000000000000000010
|
|
00000000000000000000000000001010 /\ 00000000000000000000000000001000 = 00000000000000000000000000001000
|
|
00000000000000000000000000001010 /\ 00000000000000000000000000001010 = 00000000000000000000000000001010
|
|
00000000000000000000000000001010 /\ 00000000000000000000000000010000 = 00000000000000000000000000000000
|
|
00000000000000000000000000001010 /\ 11111111111111111111111111111111 = 00000000000000000000000000001010
|
|
00000000000000000000000000010000 /\ 00000000000000000000000000000000 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 /\ 00000000000000000000000000000001 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 /\ 00000000000000000000000000000010 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 /\ 00000000000000000000000000001000 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 /\ 00000000000000000000000000001010 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 /\ 00000000000000000000000000010000 = 00000000000000000000000000010000
|
|
00000000000000000000000000010000 /\ 11111111111111111111111111111111 = 00000000000000000000000000010000
|
|
11111111111111111111111111111111 /\ 00000000000000000000000000000000 = 00000000000000000000000000000000
|
|
11111111111111111111111111111111 /\ 00000000000000000000000000000001 = 00000000000000000000000000000001
|
|
11111111111111111111111111111111 /\ 00000000000000000000000000000010 = 00000000000000000000000000000010
|
|
11111111111111111111111111111111 /\ 00000000000000000000000000001000 = 00000000000000000000000000001000
|
|
11111111111111111111111111111111 /\ 00000000000000000000000000001010 = 00000000000000000000000000001010
|
|
11111111111111111111111111111111 /\ 00000000000000000000000000010000 = 00000000000000000000000000010000
|
|
11111111111111111111111111111111 /\ 11111111111111111111111111111111 = 11111111111111111111111111111111
|
|
|
|
*** Test binary operation '\/' ***
|
|
|
|
00000000000000000000000000000000 \/ 00000000000000000000000000000000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 \/ 00000000000000000000000000000001 = 00000000000000000000000000000001
|
|
00000000000000000000000000000000 \/ 00000000000000000000000000000010 = 00000000000000000000000000000010
|
|
00000000000000000000000000000000 \/ 00000000000000000000000000001000 = 00000000000000000000000000001000
|
|
00000000000000000000000000000000 \/ 00000000000000000000000000001010 = 00000000000000000000000000001010
|
|
00000000000000000000000000000000 \/ 00000000000000000000000000010000 = 00000000000000000000000000010000
|
|
00000000000000000000000000000000 \/ 11111111111111111111111111111111 = 11111111111111111111111111111111
|
|
00000000000000000000000000000001 \/ 00000000000000000000000000000000 = 00000000000000000000000000000001
|
|
00000000000000000000000000000001 \/ 00000000000000000000000000000001 = 00000000000000000000000000000001
|
|
00000000000000000000000000000001 \/ 00000000000000000000000000000010 = 00000000000000000000000000000011
|
|
00000000000000000000000000000001 \/ 00000000000000000000000000001000 = 00000000000000000000000000001001
|
|
00000000000000000000000000000001 \/ 00000000000000000000000000001010 = 00000000000000000000000000001011
|
|
00000000000000000000000000000001 \/ 00000000000000000000000000010000 = 00000000000000000000000000010001
|
|
00000000000000000000000000000001 \/ 11111111111111111111111111111111 = 11111111111111111111111111111111
|
|
00000000000000000000000000000010 \/ 00000000000000000000000000000000 = 00000000000000000000000000000010
|
|
00000000000000000000000000000010 \/ 00000000000000000000000000000001 = 00000000000000000000000000000011
|
|
00000000000000000000000000000010 \/ 00000000000000000000000000000010 = 00000000000000000000000000000010
|
|
00000000000000000000000000000010 \/ 00000000000000000000000000001000 = 00000000000000000000000000001010
|
|
00000000000000000000000000000010 \/ 00000000000000000000000000001010 = 00000000000000000000000000001010
|
|
00000000000000000000000000000010 \/ 00000000000000000000000000010000 = 00000000000000000000000000010010
|
|
00000000000000000000000000000010 \/ 11111111111111111111111111111111 = 11111111111111111111111111111111
|
|
00000000000000000000000000001000 \/ 00000000000000000000000000000000 = 00000000000000000000000000001000
|
|
00000000000000000000000000001000 \/ 00000000000000000000000000000001 = 00000000000000000000000000001001
|
|
00000000000000000000000000001000 \/ 00000000000000000000000000000010 = 00000000000000000000000000001010
|
|
00000000000000000000000000001000 \/ 00000000000000000000000000001000 = 00000000000000000000000000001000
|
|
00000000000000000000000000001000 \/ 00000000000000000000000000001010 = 00000000000000000000000000001010
|
|
00000000000000000000000000001000 \/ 00000000000000000000000000010000 = 00000000000000000000000000011000
|
|
00000000000000000000000000001000 \/ 11111111111111111111111111111111 = 11111111111111111111111111111111
|
|
00000000000000000000000000001010 \/ 00000000000000000000000000000000 = 00000000000000000000000000001010
|
|
00000000000000000000000000001010 \/ 00000000000000000000000000000001 = 00000000000000000000000000001011
|
|
00000000000000000000000000001010 \/ 00000000000000000000000000000010 = 00000000000000000000000000001010
|
|
00000000000000000000000000001010 \/ 00000000000000000000000000001000 = 00000000000000000000000000001010
|
|
00000000000000000000000000001010 \/ 00000000000000000000000000001010 = 00000000000000000000000000001010
|
|
00000000000000000000000000001010 \/ 00000000000000000000000000010000 = 00000000000000000000000000011010
|
|
00000000000000000000000000001010 \/ 11111111111111111111111111111111 = 11111111111111111111111111111111
|
|
00000000000000000000000000010000 \/ 00000000000000000000000000000000 = 00000000000000000000000000010000
|
|
00000000000000000000000000010000 \/ 00000000000000000000000000000001 = 00000000000000000000000000010001
|
|
00000000000000000000000000010000 \/ 00000000000000000000000000000010 = 00000000000000000000000000010010
|
|
00000000000000000000000000010000 \/ 00000000000000000000000000001000 = 00000000000000000000000000011000
|
|
00000000000000000000000000010000 \/ 00000000000000000000000000001010 = 00000000000000000000000000011010
|
|
00000000000000000000000000010000 \/ 00000000000000000000000000010000 = 00000000000000000000000000010000
|
|
00000000000000000000000000010000 \/ 11111111111111111111111111111111 = 11111111111111111111111111111111
|
|
11111111111111111111111111111111 \/ 00000000000000000000000000000000 = 11111111111111111111111111111111
|
|
11111111111111111111111111111111 \/ 00000000000000000000000000000001 = 11111111111111111111111111111111
|
|
11111111111111111111111111111111 \/ 00000000000000000000000000000010 = 11111111111111111111111111111111
|
|
11111111111111111111111111111111 \/ 00000000000000000000000000001000 = 11111111111111111111111111111111
|
|
11111111111111111111111111111111 \/ 00000000000000000000000000001010 = 11111111111111111111111111111111
|
|
11111111111111111111111111111111 \/ 00000000000000000000000000010000 = 11111111111111111111111111111111
|
|
11111111111111111111111111111111 \/ 11111111111111111111111111111111 = 11111111111111111111111111111111
|
|
|
|
*** Test binary operation 'xor' ***
|
|
|
|
00000000000000000000000000000000 xor 00000000000000000000000000000000 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 xor 00000000000000000000000000000001 = 00000000000000000000000000000001
|
|
00000000000000000000000000000000 xor 00000000000000000000000000000010 = 00000000000000000000000000000010
|
|
00000000000000000000000000000000 xor 00000000000000000000000000001000 = 00000000000000000000000000001000
|
|
00000000000000000000000000000000 xor 00000000000000000000000000001010 = 00000000000000000000000000001010
|
|
00000000000000000000000000000000 xor 00000000000000000000000000010000 = 00000000000000000000000000010000
|
|
00000000000000000000000000000000 xor 11111111111111111111111111111111 = 11111111111111111111111111111111
|
|
00000000000000000000000000000001 xor 00000000000000000000000000000000 = 00000000000000000000000000000001
|
|
00000000000000000000000000000001 xor 00000000000000000000000000000001 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 xor 00000000000000000000000000000010 = 00000000000000000000000000000011
|
|
00000000000000000000000000000001 xor 00000000000000000000000000001000 = 00000000000000000000000000001001
|
|
00000000000000000000000000000001 xor 00000000000000000000000000001010 = 00000000000000000000000000001011
|
|
00000000000000000000000000000001 xor 00000000000000000000000000010000 = 00000000000000000000000000010001
|
|
00000000000000000000000000000001 xor 11111111111111111111111111111111 = 11111111111111111111111111111110
|
|
00000000000000000000000000000010 xor 00000000000000000000000000000000 = 00000000000000000000000000000010
|
|
00000000000000000000000000000010 xor 00000000000000000000000000000001 = 00000000000000000000000000000011
|
|
00000000000000000000000000000010 xor 00000000000000000000000000000010 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 xor 00000000000000000000000000001000 = 00000000000000000000000000001010
|
|
00000000000000000000000000000010 xor 00000000000000000000000000001010 = 00000000000000000000000000001000
|
|
00000000000000000000000000000010 xor 00000000000000000000000000010000 = 00000000000000000000000000010010
|
|
00000000000000000000000000000010 xor 11111111111111111111111111111111 = 11111111111111111111111111111101
|
|
00000000000000000000000000001000 xor 00000000000000000000000000000000 = 00000000000000000000000000001000
|
|
00000000000000000000000000001000 xor 00000000000000000000000000000001 = 00000000000000000000000000001001
|
|
00000000000000000000000000001000 xor 00000000000000000000000000000010 = 00000000000000000000000000001010
|
|
00000000000000000000000000001000 xor 00000000000000000000000000001000 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 xor 00000000000000000000000000001010 = 00000000000000000000000000000010
|
|
00000000000000000000000000001000 xor 00000000000000000000000000010000 = 00000000000000000000000000011000
|
|
00000000000000000000000000001000 xor 11111111111111111111111111111111 = 11111111111111111111111111110111
|
|
00000000000000000000000000001010 xor 00000000000000000000000000000000 = 00000000000000000000000000001010
|
|
00000000000000000000000000001010 xor 00000000000000000000000000000001 = 00000000000000000000000000001011
|
|
00000000000000000000000000001010 xor 00000000000000000000000000000010 = 00000000000000000000000000001000
|
|
00000000000000000000000000001010 xor 00000000000000000000000000001000 = 00000000000000000000000000000010
|
|
00000000000000000000000000001010 xor 00000000000000000000000000001010 = 00000000000000000000000000000000
|
|
00000000000000000000000000001010 xor 00000000000000000000000000010000 = 00000000000000000000000000011010
|
|
00000000000000000000000000001010 xor 11111111111111111111111111111111 = 11111111111111111111111111110101
|
|
00000000000000000000000000010000 xor 00000000000000000000000000000000 = 00000000000000000000000000010000
|
|
00000000000000000000000000010000 xor 00000000000000000000000000000001 = 00000000000000000000000000010001
|
|
00000000000000000000000000010000 xor 00000000000000000000000000000010 = 00000000000000000000000000010010
|
|
00000000000000000000000000010000 xor 00000000000000000000000000001000 = 00000000000000000000000000011000
|
|
00000000000000000000000000010000 xor 00000000000000000000000000001010 = 00000000000000000000000000011010
|
|
00000000000000000000000000010000 xor 00000000000000000000000000010000 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 xor 11111111111111111111111111111111 = 11111111111111111111111111101111
|
|
11111111111111111111111111111111 xor 00000000000000000000000000000000 = 11111111111111111111111111111111
|
|
11111111111111111111111111111111 xor 00000000000000000000000000000001 = 11111111111111111111111111111110
|
|
11111111111111111111111111111111 xor 00000000000000000000000000000010 = 11111111111111111111111111111101
|
|
11111111111111111111111111111111 xor 00000000000000000000000000001000 = 11111111111111111111111111110111
|
|
11111111111111111111111111111111 xor 00000000000000000000000000001010 = 11111111111111111111111111110101
|
|
11111111111111111111111111111111 xor 00000000000000000000000000010000 = 11111111111111111111111111101111
|
|
11111111111111111111111111111111 xor 11111111111111111111111111111111 = 00000000000000000000000000000000
|
|
|
|
*** Test binary operation '>>' ***
|
|
|
|
00000000000000000000000000000000 >> -1 = <<exception>>
|
|
00000000000000000000000000000000 >> 0 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 >> 1 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 >> 2 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 >> 3 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 >> 4 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 >> 8 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 >> 16 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 >> 24 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 >> 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 >> 32 = <<exception>>
|
|
00000000000000000000000000000001 >> -1 = <<exception>>
|
|
00000000000000000000000000000001 >> 0 = 00000000000000000000000000000001
|
|
00000000000000000000000000000001 >> 1 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 >> 2 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 >> 3 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 >> 4 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 >> 8 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 >> 16 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 >> 24 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 >> 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000000001 >> 32 = <<exception>>
|
|
00000000000000000000000000000010 >> -1 = <<exception>>
|
|
00000000000000000000000000000010 >> 0 = 00000000000000000000000000000010
|
|
00000000000000000000000000000010 >> 1 = 00000000000000000000000000000001
|
|
00000000000000000000000000000010 >> 2 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 >> 3 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 >> 4 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 >> 8 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 >> 16 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 >> 24 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 >> 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 >> 32 = <<exception>>
|
|
00000000000000000000000000001000 >> -1 = <<exception>>
|
|
00000000000000000000000000001000 >> 0 = 00000000000000000000000000001000
|
|
00000000000000000000000000001000 >> 1 = 00000000000000000000000000000100
|
|
00000000000000000000000000001000 >> 2 = 00000000000000000000000000000010
|
|
00000000000000000000000000001000 >> 3 = 00000000000000000000000000000001
|
|
00000000000000000000000000001000 >> 4 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 >> 8 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 >> 16 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 >> 24 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 >> 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 >> 32 = <<exception>>
|
|
00000000000000000000000000001010 >> -1 = <<exception>>
|
|
00000000000000000000000000001010 >> 0 = 00000000000000000000000000001010
|
|
00000000000000000000000000001010 >> 1 = 00000000000000000000000000000101
|
|
00000000000000000000000000001010 >> 2 = 00000000000000000000000000000010
|
|
00000000000000000000000000001010 >> 3 = 00000000000000000000000000000001
|
|
00000000000000000000000000001010 >> 4 = 00000000000000000000000000000000
|
|
00000000000000000000000000001010 >> 8 = 00000000000000000000000000000000
|
|
00000000000000000000000000001010 >> 16 = 00000000000000000000000000000000
|
|
00000000000000000000000000001010 >> 24 = 00000000000000000000000000000000
|
|
00000000000000000000000000001010 >> 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000001010 >> 32 = <<exception>>
|
|
00000000000000000000000000010000 >> -1 = <<exception>>
|
|
00000000000000000000000000010000 >> 0 = 00000000000000000000000000010000
|
|
00000000000000000000000000010000 >> 1 = 00000000000000000000000000001000
|
|
00000000000000000000000000010000 >> 2 = 00000000000000000000000000000100
|
|
00000000000000000000000000010000 >> 3 = 00000000000000000000000000000010
|
|
00000000000000000000000000010000 >> 4 = 00000000000000000000000000000001
|
|
00000000000000000000000000010000 >> 8 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 >> 16 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 >> 24 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 >> 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 >> 32 = <<exception>>
|
|
11111111111111111111111111111111 >> -1 = <<exception>>
|
|
11111111111111111111111111111111 >> 0 = 11111111111111111111111111111111
|
|
11111111111111111111111111111111 >> 1 = 01111111111111111111111111111111
|
|
11111111111111111111111111111111 >> 2 = 00111111111111111111111111111111
|
|
11111111111111111111111111111111 >> 3 = 00011111111111111111111111111111
|
|
11111111111111111111111111111111 >> 4 = 00001111111111111111111111111111
|
|
11111111111111111111111111111111 >> 8 = 00000000111111111111111111111111
|
|
11111111111111111111111111111111 >> 16 = 00000000000000001111111111111111
|
|
11111111111111111111111111111111 >> 24 = 00000000000000000000000011111111
|
|
11111111111111111111111111111111 >> 31 = 00000000000000000000000000000001
|
|
11111111111111111111111111111111 >> 32 = <<exception>>
|
|
|
|
*** Test binary operation '<<' ***
|
|
|
|
00000000000000000000000000000000 << -1 = <<exception>>
|
|
00000000000000000000000000000000 << 0 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 << 1 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 << 2 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 << 3 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 << 4 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 << 8 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 << 16 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 << 24 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 << 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000000000 << 32 = <<exception>>
|
|
00000000000000000000000000000001 << -1 = <<exception>>
|
|
00000000000000000000000000000001 << 0 = 00000000000000000000000000000001
|
|
00000000000000000000000000000001 << 1 = 00000000000000000000000000000010
|
|
00000000000000000000000000000001 << 2 = 00000000000000000000000000000100
|
|
00000000000000000000000000000001 << 3 = 00000000000000000000000000001000
|
|
00000000000000000000000000000001 << 4 = 00000000000000000000000000010000
|
|
00000000000000000000000000000001 << 8 = 00000000000000000000000100000000
|
|
00000000000000000000000000000001 << 16 = 00000000000000010000000000000000
|
|
00000000000000000000000000000001 << 24 = 00000001000000000000000000000000
|
|
00000000000000000000000000000001 << 31 = 10000000000000000000000000000000
|
|
00000000000000000000000000000001 << 32 = <<exception>>
|
|
00000000000000000000000000000010 << -1 = <<exception>>
|
|
00000000000000000000000000000010 << 0 = 00000000000000000000000000000010
|
|
00000000000000000000000000000010 << 1 = 00000000000000000000000000000100
|
|
00000000000000000000000000000010 << 2 = 00000000000000000000000000001000
|
|
00000000000000000000000000000010 << 3 = 00000000000000000000000000010000
|
|
00000000000000000000000000000010 << 4 = 00000000000000000000000000100000
|
|
00000000000000000000000000000010 << 8 = 00000000000000000000001000000000
|
|
00000000000000000000000000000010 << 16 = 00000000000000100000000000000000
|
|
00000000000000000000000000000010 << 24 = 00000010000000000000000000000000
|
|
00000000000000000000000000000010 << 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000000010 << 32 = <<exception>>
|
|
00000000000000000000000000001000 << -1 = <<exception>>
|
|
00000000000000000000000000001000 << 0 = 00000000000000000000000000001000
|
|
00000000000000000000000000001000 << 1 = 00000000000000000000000000010000
|
|
00000000000000000000000000001000 << 2 = 00000000000000000000000000100000
|
|
00000000000000000000000000001000 << 3 = 00000000000000000000000001000000
|
|
00000000000000000000000000001000 << 4 = 00000000000000000000000010000000
|
|
00000000000000000000000000001000 << 8 = 00000000000000000000100000000000
|
|
00000000000000000000000000001000 << 16 = 00000000000010000000000000000000
|
|
00000000000000000000000000001000 << 24 = 00001000000000000000000000000000
|
|
00000000000000000000000000001000 << 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000001000 << 32 = <<exception>>
|
|
00000000000000000000000000001010 << -1 = <<exception>>
|
|
00000000000000000000000000001010 << 0 = 00000000000000000000000000001010
|
|
00000000000000000000000000001010 << 1 = 00000000000000000000000000010100
|
|
00000000000000000000000000001010 << 2 = 00000000000000000000000000101000
|
|
00000000000000000000000000001010 << 3 = 00000000000000000000000001010000
|
|
00000000000000000000000000001010 << 4 = 00000000000000000000000010100000
|
|
00000000000000000000000000001010 << 8 = 00000000000000000000101000000000
|
|
00000000000000000000000000001010 << 16 = 00000000000010100000000000000000
|
|
00000000000000000000000000001010 << 24 = 00001010000000000000000000000000
|
|
00000000000000000000000000001010 << 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000001010 << 32 = <<exception>>
|
|
00000000000000000000000000010000 << -1 = <<exception>>
|
|
00000000000000000000000000010000 << 0 = 00000000000000000000000000010000
|
|
00000000000000000000000000010000 << 1 = 00000000000000000000000000100000
|
|
00000000000000000000000000010000 << 2 = 00000000000000000000000001000000
|
|
00000000000000000000000000010000 << 3 = 00000000000000000000000010000000
|
|
00000000000000000000000000010000 << 4 = 00000000000000000000000100000000
|
|
00000000000000000000000000010000 << 8 = 00000000000000000001000000000000
|
|
00000000000000000000000000010000 << 16 = 00000000000100000000000000000000
|
|
00000000000000000000000000010000 << 24 = 00010000000000000000000000000000
|
|
00000000000000000000000000010000 << 31 = 00000000000000000000000000000000
|
|
00000000000000000000000000010000 << 32 = <<exception>>
|
|
11111111111111111111111111111111 << -1 = <<exception>>
|
|
11111111111111111111111111111111 << 0 = 11111111111111111111111111111111
|
|
11111111111111111111111111111111 << 1 = 11111111111111111111111111111110
|
|
11111111111111111111111111111111 << 2 = 11111111111111111111111111111100
|
|
11111111111111111111111111111111 << 3 = 11111111111111111111111111111000
|
|
11111111111111111111111111111111 << 4 = 11111111111111111111111111110000
|
|
11111111111111111111111111111111 << 8 = 11111111111111111111111100000000
|
|
11111111111111111111111111111111 << 16 = 11111111111111110000000000000000
|
|
11111111111111111111111111111111 << 24 = 11111111000000000000000000000000
|
|
11111111111111111111111111111111 << 31 = 10000000000000000000000000000000
|
|
11111111111111111111111111111111 << 32 = <<exception>>
|