@Override
	public String toString() {
		byte b;
		final StringBuilder s = new StringBuilder(bits.length * Byte.SIZE);
		for (int i = 0; i < lastByte; i++) {
			for (int j = Byte.SIZE - 1; j >= 0; j--) {
				b = bits[i];
				s.append((b >> j & 1) == 0 ? '0' : '1');
			}
		}
		for (int j = Byte.SIZE - 1; j >= lastBit; j--) {
			b = bits[lastByte];
			s.append((b >> j & 1) == 0 ? '0' : '1');
		}
		return s.toString();
	}