Package ucar.nc2.iosp

Class BitReader


  • public class BitReader
    extends Object
    Helper for reading data that has been bit packed.
    Since:
    Apr 7, 2008
    • Constructor Detail

      • BitReader

        public BitReader​(byte[] test)
      • BitReader

        public BitReader​(RandomAccessFile raf,
                         long startPos)
                  throws IOException
        Constructor
        Parameters:
        raf - the RandomAccessFile
        startPos - 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 IOException
        Position 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 IOException
        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

        public long bits2SInt​(int nb)
                       throws IOException
        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)