![]() ![]() | strings/number-in-base-10.c - En funktion der konverterer et tal n i base talsystemet (en streng) til et decimalt tal. | Lektion 10 - slide 30 : 51 Program 1 |
/* Convert the string n to a decimal number in base and return it. Assume that input string is without errors */ int to_decimal_number(char *n, int base){ int ciffer_number, res = 0; char *ciffer_ptr = &n[0], ciffer = *ciffer_ptr; do { if (ciffer >= '0' && ciffer <= '9') ciffer_number = ciffer - '0'; else if (ciffer >= 'a' && ciffer <= 'z') ciffer_number = ciffer - 'a' + 10; else ciffer_number = -1; /* error */ if (ciffer_number >= 0 && ciffer_number < base) res = res * base + ciffer_number; ciffer_ptr++; ciffer = *ciffer_ptr; } while (ciffer != '\0'); return res; }