Here you can find the source of byteArrayToDoubleBE(byte[] data)
public static double byteArrayToDoubleBE(byte[] data)
//package com.java2s; /*//ww w .ja v a 2s . co m * This file is part of JGrasstools (http://www.jgrasstools.org) * (C) HydroloGIS - www.hydrologis.com * * JGrasstools is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ public class Main { public static double byteArrayToDoubleBE(byte[] data) { if (data == null || data.length != 8) return 0x0; // ---------- simple: return Double.longBitsToDouble(byteArrayToLongBE(data)); } /** * Convert a byte array to an integer (big endian). * * @param data the byte array to convert. * @return the integer. */ public static long byteArrayToLongBE(byte[] data) { if (data == null) return 0x0; long accum = 0; int shiftBy = 8 * data.length - 8; for (byte b : data) { accum |= (long) (0xff & b) << shiftBy; shiftBy -= 8; } return accum; } }