Returns the long at the given offset of the byte array. - Java java.lang

Java examples for java.lang:byte array to long

Description

Returns the long at the given offset of the byte array.

Demo Code

/*//from   w ww .  ja v a  2 s .c o  m
 * Mckoi Software ( http://www.mckoi.com/ )
 * Copyright (C) 2000 - 2015  Diehl and Associates, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
//package com.java2s;

public class Main {
    public static void main(String[] argv) throws Exception {
        byte[] arr = new byte[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 };
        int offset = 2;
        System.out.println(getLong(arr, offset));
    }

    /**
     * Returns the long at the given offset of the byte array.
     */
    public static final long getLong(byte[] arr, int offset) {
        long c1 = (((int) arr[offset + 0]) & 0x0FF);
        long c2 = (((int) arr[offset + 1]) & 0x0FF);
        long c3 = (((int) arr[offset + 2]) & 0x0FF);
        long c4 = (((int) arr[offset + 3]) & 0x0FF);
        long c5 = (((int) arr[offset + 4]) & 0x0FF);
        long c6 = (((int) arr[offset + 5]) & 0x0FF);
        long c7 = (((int) arr[offset + 6]) & 0x0FF);
        long c8 = (((int) arr[offset + 7]) & 0x0FF);

        return (c1 << 56) + (c2 << 48) + (c3 << 40) + (c4 << 32)
                + (c5 << 24) + (c6 << 16) + (c7 << 8) + (c8);
    }
}

Related Tutorials