public void writeUnsignedNumber(long number) throws IOException { if (number < 0) { throw new IllegalArgumentException("Number isn't unsigned"); } int shift = 0; final int maxBounds = BOUNDS.length; for (int i = 0; i < maxBounds; i++) { long bound = BOUNDS[i]; boolean more = number > bound; write((int) ((number & bound) >> shift) | (more ? 128 : 0)); if (!more) { break; } shift += 7; } }
public void writeUnsignedNumber(long number) throws IOException { if (number < 0) { throw new IllegalArgumentException("Number isn't unsigned"); } int shift = 0; final int maxBounds = BOUNDS.length; for (int i = 0; i < maxBounds; i++) { long bound = BOUNDS[i]; boolean more = number > bound; write((int) ((number & bound) >> shift) | (more ? 128 : 0)); if (!more) { break; } shift += 7; } }
public void writeUnsignedNumber(long number) throws IOException { if (number < 0) { throw new IllegalArgumentException("Number isn't unsigned"); } int shift = 0; final int maxBounds = BOUNDS.length; for (int i = 0; i < maxBounds; i++) { long bound = BOUNDS[i]; boolean more = number > bound; write((int) ((number & bound) >> shift) | (more ? 128 : 0)); if (!more) { break; } shift += 7; } }