implementação atoi em C
Não consigo entender o seguinteatoi
código de implementação, especificamente esta linha:k = (k<<3)+(k<<1)+(*p)-'0';
O código:
int my_atoi(char *p) {
int k = 0;
while (*p) {
k = (k<<3)+(k<<1)+(*p)-'0';
p++;
}
return k;
}
Alguém pode explicar isso para mim ?
Outra questão: qual deve ser o algoritmo deatof
implementação?