char *ft_itoa(int n) { int i; int j; char *tab; int power; i = 0; j = 0; tab = (char*)malloc(sizeof(*tab) * (ft_val(n) + 1)); if (!tab) return (NULL); if (n == -2147483648) return (ft_strcpy(tab, "-2147483648")); if (n < 0) { tab[0] = '-'; i++; n = n * (-1); } while (j < ft_val(n)) { power = ft_val(n) - (j++) - 1; tab[i++] = 48 + (n / (ft_power(10, power)) % 10); } tab[i] = '\0'; return (tab); }
void ft_putnbr(int n) { int j; int i; int power; if (n == -2147483648) { ft_putstr("-2147483648"); return ; } i = 0; j = 0; if (n < 0) { ft_putchar('-'); i++; n = n * (-1); } while (j < ft_val(n)) { power = ft_val(n) - j - 1; ft_putchar(48 + (n / (ft_power(10, power)) % 10)); j++; } }
char *ft_convert_base(char *nbr, char *base_from, char *base_to) { char *res; int value; int len; int i; int j; value = ft_val(nbr, base_from); len = ft_strlen(base_to); j = ft_val_j(value, len); res = (char*)malloc(sizeof(char) * (j + 1)); i = 0; if (value) while (value > 0) { res[--j] = base_to[value % len]; value = value / len; i++; } else { res[i] = base_to[i]; i++; } res[i] = '\0'; return (res); }