(((int) bytes[bptr++]) & 0xff) << 16 | (((int) bytes[bptr++]) & 0xff) << 8 | (((int) bytes[bptr++]) & 0xff);
(bytes[bptr++] & 0xff) << 16 | (bytes[bptr++] & 0xff) << 8 | (bytes[bptr++] & 0xff);
  private static int[] byteArrayToIntArray(byte[] bytes, int sign)  {    // Determine number of words needed.    int[] words = new int[bytes.length/4 + 1];    int nwords = words.length;    // Create a int out of modulo 4 high order bytes.    int bptr = 0;    int word = sign;    for (int i = bytes.length % 4; i > 0; --i, bptr++)      word = (word << 8) | (((int) bytes[bptr]) & 0xff);    words[--nwords] = word;    // Elements remaining in byte[] are a multiple of 4.    while (nwords > 0)      words[--nwords] = bytes[bptr++] << 24 |			(((int) bytes[bptr++]) & 0xff) << 16 |			(((int) bytes[bptr++]) & 0xff) << 8 |			(((int) bytes[bptr++]) & 0xff);    return words;  }