Here you can find the source of toDoubleArray(byte[] byteArray)
public static double[] toDoubleArray(byte[] byteArray)
//package com.java2s; /**// w w w . ja va 2s . c om * Copyright 2007 DFKI GmbH. * All Rights Reserved. Use is subject to license terms. * * This file is part of MARY TTS. * * MARY TTS is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, version 3 of the License. * * 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ public class Main { public static double[] toDoubleArray(byte[] byteArray) { if (byteArray == null) return null; if (byteArray.length % 8 != 0) return null; double[] dbls = new double[byteArray.length / 8]; for (int i = 0; i < dbls.length; i++) { dbls[i] = toDouble(new byte[] { byteArray[(i * 8)], byteArray[(i * 8) + 1], byteArray[(i * 8) + 2], byteArray[(i * 8) + 3], byteArray[(i * 8) + 4], byteArray[(i * 8) + 5], byteArray[(i * 8) + 6], byteArray[(i * 8) + 7], }); } return dbls; } public static double toDouble(byte[] byteArray) { if (byteArray == null || byteArray.length != 8) return 0x0; return Double.longBitsToDouble(toLong(byteArray)); } public static long toLong(byte[] byteArray) { if (byteArray == null || byteArray.length != 8) return 0x0; return (long) ((long) (0xff & byteArray[0]) << 56 | (long) (0xff & byteArray[1]) << 48 | (long) (0xff & byteArray[2]) << 40 | (long) (0xff & byteArray[3]) << 32 | (long) (0xff & byteArray[4]) << 24 | (long) (0xff & byteArray[5]) << 16 | (long) (0xff & byteArray[6]) << 8 | (long) (0xff & byteArray[7]) << 0); } }