- java.lang.Object
-
- io.scif.codec.BitBuffer
-
public class BitBuffer extends Object
A class for reading arbitrary numbers of bits from a byte array.- Author:
- Eric Kjellman
-
-
Constructor Summary
Constructors Constructor Description BitBuffer(byte[] byteBuffer)Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetBits(int bitsToRead)Returns an int value representing the value of the bits read from the byte array, from the current position.voidskipBits(long bits)Skips a number of bits in the BitBuffer.
-
-
-
Method Detail
-
skipBits
public void skipBits(long bits)
Skips a number of bits in the BitBuffer.- Parameters:
bits- Number of bits to skip
-
getBits
public int getBits(int bitsToRead)
Returns an int value representing the value of the bits read from the byte array, from the current position. Bits are extracted from the "left side" or high side of the byte.The current position is modified by this call.
Bits are pushed into the int from the right, endianness is not considered by the method on its own. So, if 5 bits were read from the buffer "10101", the int would be the integer representation of 000...0010101 on the target machine.
In general, this also means the result will be positive unless a full 32 bits are read.
Requesting more than 32 bits is allowed, but only up to 32 bits worth of data will be returned (the last 32 bits read).
- Parameters:
bitsToRead- the number of bits to read from the bit buffer- Returns:
- the value of the bits read
-
-