Package ucar.nc2.iosp
Class BitReader
- java.lang.Object
-
- ucar.nc2.iosp.BitReader
-
public class BitReader extends Object
Helper for reading data that has been bit packed.- Since:
- Apr 7, 2008
-
-
Constructor Summary
Constructors Constructor Description BitReader(byte[] test)BitReader(RandomAccessFile raf, long startPos)Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description longbits2SInt(int nb)Read the next nb bits and return an Signed Long .longbits2UInt(int nb)Read the next nb bits and return an Unsigned Long .static booleangetBit(long decimal, int N)longgetPos()voidincrByte()Go to the next byte in the streamstatic longsetBit(long decimal, int N, boolean value)voidsetBitOffset(int bitOffset)Position file at bitOffset from startPos
-
-
-
Constructor Detail
-
BitReader
public BitReader(byte[] test)
-
BitReader
public BitReader(RandomAccessFile raf, long startPos) throws IOException
Constructor- Parameters:
raf- the RandomAccessFilestartPos- points to start of data in data section, in bytes- Throws:
IOException- on read error
-
-
Method Detail
-
incrByte
public void incrByte()
Go to the next byte in the stream
-
setBitOffset
public void setBitOffset(int bitOffset) throws IOExceptionPosition file at bitOffset from startPos- Parameters:
bitOffset- bit offset from starting position- Throws:
IOException- on io error
-
getPos
public long getPos()
-
bits2UInt
public long bits2UInt(int nb) throws IOExceptionRead the next nb bits and return an Unsigned Long .- Parameters:
nb- the number of bits to convert to int, must be 0 <= nb <= 64.- Returns:
- result
- Throws:
IOException- on read error
-
bits2SInt
public long bits2SInt(int nb) throws IOExceptionRead the next nb bits and return an Signed Long .- Parameters:
nb- the number of bits to convert to int, must be <= 64.- Returns:
- result
- Throws:
IOException- on read error
-
setBit
public static long setBit(long decimal, int N, boolean value)
-
getBit
public static boolean getBit(long decimal, int N)
-
-