Ejemplo n.º 1
0
static int integerprint(char **s, int n, unsigned base, int min, int zpad, int upper) {
    char buf[32];
    int i=32, digit, len=0;

    assert(base>=2 && base < 36);

    if (min>32)
	min=32;

    if (n==0) {
	for (i=1; i<min; i++)
	    len += charprint(s, zpad ? '0' : ' ');
      
	len += charprint(s, '0');
	return len;
    }

    if (n<0) {
	len += charprint(s, '-');
	n *= -1;
    }

    while (n!=0) {
	digit = n%base;
	n /= base;
    
	if (digit<0)
	    digit *= -1;

	buf[--i] = digittoascii(digit, upper);
    }

    while (i>32-min)
	buf[--i] = zpad ? '0' : ' ';

    len += mcharprint(s, &buf[i], 32-i);
    return len;
}
Ejemplo n.º 2
0
uint16_t convert(uint16_t RAW_VALUE) {
	return digittoascii(RAW_VALUE/16) + 256*digittoascii(RAW_VALUE%16);
}