Here you can find the source of bytesToDouble(byte[] data, int[] offset)
double
represented by the bytes in data
staring at offset offset[0]
.
Parameter | Description |
---|---|
data | the array from which to read |
offset | A single element array whose first element is the index in data from which to begin reading on function entry, and which on function exit has been incremented by the number of bytes read. |
double
decoded
public static final double bytesToDouble(byte[] data, int[] offset)
//package com.java2s; /* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana * * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana. * * This program 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 2 * 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, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA. * * For more information, contact://from w w w . ja v a 2 s .c om * * Generalitat Valenciana * Conselleria d'Infraestructures i Transport * Av. Blasco Ib??ez, 50 * 46010 VALENCIA * SPAIN * * +34 963862235 * gvsig@gva.es * www.gvsig.gva.es * * or * * IVER T.I. S.A * Salamanca 50 * 46005 Valencia * Spain * * +34 963163400 * dac@iver.es */ public class Main { public static final int SIZE_LONG = 8; /** * Return the <code>double</code> represented by the bytes in * <code>data</code> staring at offset <code>offset[0]</code>. * * @param data the array from which to read * @param offset A single element array whose first element is the index in * data from which to begin reading on function entry, and which * on function exit has been incremented by the number of bytes * read. * * @return the value of the <code>double</code> decoded */ public static final double bytesToDouble(byte[] data, int[] offset) { long bits = bytesToLong(data, offset); return Double.longBitsToDouble(bits); } /** * Return the <code>long</code> represented by the bytes in * <code>data</code> staring at offset <code>offset[0]</code>. * * @param data the array from which to read * @param offset A single element array whose first element is the index in * data from which to begin reading on function entry, and which * on function exit has been incremented by the number of bytes * read. * * @return the value of the <code>long</code> decoded */ public static final long bytesToLong(byte[] data, int[] offset) { long result = 0; for (int i = 0; i < SIZE_LONG; ++i) { result <<= 8; int res = byteToUnsignedInt(data[offset[0]++]); result = result | res; } return result; } /** * Convert a <code>byte</code> into an unsigned integer. * * @param b the <code>byte</code> to cast * * @return a postiive <code>int</code> whose lowest byte contains the bits * of <code>b</code>. */ public static final int byteToUnsignedInt(byte b) { return (b) & 0xff; } }