Here you can find the source of toShort(byte[] si, boolean isReverseOrder)
Parameter | Description |
---|---|
si | the input array |
isReverseOrder | True if llittle-endian. False if big-endian (Most significant byte first) |
public final static short toShort(byte[] si, boolean isReverseOrder)
//package com.java2s; /*//from ww w .j a v a2 s . c o m * Copyright 2005 MBARI * * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE, Version 2.1 * (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.gnu.org/copyleft/lesser.html * * 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 { /** * Convert a byte[] (most significant byte first) to the corresponding <b>short</b> value. * * @param si the input array * @return The value coresponding to the byte array */ public final static short toShort(byte[] si) { return toShort(si, false); } /** * Convert a byte[] to the corresponding <b>short</b> value. * * @param si the input array * @param isReverseOrder True if llittle-endian. False if big-endian (Most significant byte first) * @return The value coresponding to the byte array */ public final static short toShort(byte[] si, boolean isReverseOrder) { short i = 0; if (isReverseOrder) { si = reverseOrder(si, 2); } for (byte b = 0; b <= 1; b++) { short j; if (si[b] < 0) { si[b] = (byte) (si[b] & 0x7f); j = (short) si[b]; j |= 0x80; } else { j = (short) si[b]; } i |= j; if (b < 1) { i <<= 8; } } return i; } /** * Reverse the ordering of a byte array * * @param si * @param i * @return */ private final static byte[] reverseOrder(byte[] si, int i) { byte[] is = new byte[i]; for (byte b = 0; b <= i - 1; b++) { is[b] = si[i - 1 - b]; } return is; } }