a << 37 == a << (37 % 32) == a << 5 == 0000 0001 1111 1110 0000 0001 1110 0000
a >> (32 - (37 % 32)) == a >> 27 == 0000 0000 0000 0000 0000 0000 0001 1110
anding the two together you get == 0000 0001 1111 1110 0000 0001 1111 1110
which is a circular rotation of the bit string...
0000 0001 1111 1110 0000 0001 1110 0000 & 0000 0000 0000 0000 0000 0000 0001 1110 ----------------------------------------- 0000 0000 0000 0000 0000 0000 0000 0000
a << 37 == a << (37 % 32) == a << 5 == 0000 0001 1111 1110 0000 0001 1110 0000
a >> (32 - (37 % 32)) == a >> 27 == 0000 0000 0000 0000 0000 0000 0001 1110
anding the two together you get == 0000 0001 1111 1110 0000 0001 1111 1110
which is a circular rotation of the bit string...