internal static int bi_reverse(int code, // the value to invert int len // its bit length ){ int res = 0; do{ res|=code&1; code>>=1; res<<=1; } while(--len>0); return res>>1; } }