Re: [PATCH] hex <-> int conversion routines.

From: Richard B. Johnson (root@chaos.analogic.com)
Date: Tue Feb 19 2002 - 11:51:25 EST


You might want this. Code generation is 0x34 bytes for Intel with
whatever compiler I'm using. It's generic. You could do the conversion
with no compares on intel, in 18 bytes using assembly, but that would
not be generic.

/*
 * Generic routine which returns the value of an arbitrary string
 * of hex digits. It handles 'A' thru 'F' as well as 'a' thru 'f'.
 * Courtesy of rjohnson@analogic.com
 */
int hex2bin(const char *hex)
{
    int i, j;
    j = 0;
    while(*hex) {
        j <<= 4;
        if((i = (int) *hex++ - '0') > 9)
            i -= 7;
        j |= i & 95;
    }
    return j;
}

Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (797.90 BogoMips).

    I was going to compile a list of innovations that could be
    attributed to Microsoft. Once I realized that Ctrl-Alt-Del
    was handled in the BIOS, I found that there aren't any.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Feb 23 2002 - 21:00:20 EST