最有效的方法来反转Java字节数组中的位

时间:2014-06-11 17:03:51

标签: java arrays optimization byte reverse

需要反转byte []中的所有位。我分两步这样做。

  1. 反转此数组中的所有字节。
  2. 反转每个字节中的所有位。
  3. 这是最有效的方法吗?

    public byte[] reverse(byte [] data) {
        byte [] bytes = data.clone();
        for (int i = 0; i < bytes.length / 2; i++) {
            byte temp = bytes[i];
            bytes[i] = bytes[bytes.length - i - 1];
            bytes[bytes.length - i - 1] = temp;
        }
        for (int i = 0; i < bytes.length; i++) {
            bytes[i] = (byte) (Integer.reverse(bytes[i]) >>> 24)
        }
        return bytes;
    }
    
    1. 翻转用作原始哈希函数。
    2. 我意识到我正在翻转那些没有反转它们的位,这已经修复了。
    3. 按位&#39;&amp;&#39;是不必要的,已被删除。

0 个答案:

没有答案