Package ucar.nc2.iosp
Class BitReader
java.lang.Object
ucar.nc2.iosp.BitReader
Helper for reading data that has been bit packed.
- Since:
- Apr 7, 2008
-
Constructor Summary
ConstructorsConstructorDescriptionBitReader(byte[] test) BitReader(RandomAccessFile raf, long startPos) Constructor -
Method Summary
Modifier and TypeMethodDescriptionlongbits2SInt(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 Details
-
BitReader
public BitReader(byte[] test) -
BitReader
Constructor- Parameters:
raf- the RandomAccessFilestartPos- points to start of data in data section, in bytes- Throws:
IOException- on read error
-
-
Method Details
-
incrByte
public void incrByte()Go to the next byte in the stream -
setBitOffset
Position file at bitOffset from startPos- Parameters:
bitOffset- bit offset from starting position- Throws:
IOException- on io error
-
getPos
public long getPos() -
bits2UInt
Read 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
Read 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)
-