Here you can find the source of swap64bitFromArray(byte[] value, int offset)
Parameter | Description |
---|---|
value | the array containing the int |
offset | the offset in the array at which the int starts Array length must be at least offset + 8 |
public static long swap64bitFromArray(byte[] value, int offset)
//package com.java2s; /*/*from w w w .java 2s .c o m*/ * Copyright (C) 2007 The Android Open Source Project * * 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. */ public class Main { /** * Reads a signed 64 bit integer from an array coming from a device. * @param value the array containing the int * @param offset the offset in the array at which the int starts * Array length must be at least offset + 8 * @return the integer read from the array */ public static long swap64bitFromArray(byte[] value, int offset) { long v = 0; v |= ((long) value[offset]) & 0x00000000000000FFL; v |= (((long) value[offset + 1]) & 0x00000000000000FFL) << 8; v |= (((long) value[offset + 2]) & 0x00000000000000FFL) << 16; v |= (((long) value[offset + 3]) & 0x00000000000000FFL) << 24; v |= (((long) value[offset + 4]) & 0x00000000000000FFL) << 32; v |= (((long) value[offset + 5]) & 0x00000000000000FFL) << 40; v |= (((long) value[offset + 6]) & 0x00000000000000FFL) << 48; v |= (((long) value[offset + 7]) & 0x00000000000000FFL) << 56; return v; } }