public void writeIntCrLf(int value) throws IOException {
	if (value < 0) {
	    write((byte) '-');
	    value = -value;
	}

	int size = 0;
	while (value > sizeTable[size])
	    size++;

	size++;
	if (size >= buf.length - count) {
	    flushBuffer();
	}

	int q, r;
	int charPos = count + size;

	while (value >= 65536) {
	    q = value / 100;
	    r = value - ((q << 6) + (q << 5) + (q << 2));
	    value = q;
	    buf[--charPos] = DigitOnes[r];
	    buf[--charPos] = DigitTens[r];
	}

	for (;;) {
	    q = (value * 52429) >>> (16 + 3);
	    r = value - ((q << 3) + (q << 1));
	    buf[--charPos] = digits[r];
	    value = q;
	    if (value == 0)
		break;
	}
	count += size;

	writeCrLf();
    }