static int rewindReverse32 ( int v , int len ) { v = ( ( v >> S [ 0 ] ) & B [ 0 ] ) | ( ( v << S [ 0 ] ) & ~ B [ 0 ] ) ; v = ( ( v >> S [ 1 ] ) & B [ 1 ] ) | ( ( v << S [ 1 ] ) & ~ B [ 1 ] ) ; v = ( ( v >> S [ 2 ] ) & B [ 2 ] ) | ( ( v << S [ 2 ] ) & ~ B [ 2 ] ) ; v = ( ( v >> S [ 3 ] ) & B [ 3 ] ) | ( ( v << S [ 3 ] ) & ~ B [ 3 ] ) ; v = ( ( v >> S [ 4 ] ) & B [ 4 ] ) | ( ( v << S [ 4 ] ) & ~ B [ 4 ] ) ; //shift off low bits v >>= ( 32 - len ) ; return v ; }
32 bit rewind and reverse