De onde veio o nome ʻatoi`?


86

Na linguagem C, de onde eles vieram com o nome atoipara converter uma string em um inteiro? A única coisa que consigo pensar é Array To Integer para uma sigla, mas isso realmente não faz sentido.


12
Por muitos anos, sempre li isso como se fosse uma palavra em francês, pronunciada como "ah-twah" e nunca considerei sua procedência. Fiquei perplexo quando ouvi pela primeira vez alguém ler como "olho demais". E então tudo fez sentido.
Ben Zotto

Respostas:


155

Significa Ascii to Integer. Da mesma forma, você pode ter atolpara Ascii para Long, atofpara Ascii para Float, etc.

Uma pesquisa no Google por 'atoi "ascii to integer"' confirma isso em várias páginas.

Estou tendo problemas para encontrar qualquer fonte oficial sobre ele ... mas nesta lista de páginas de manual da Terceira Edição do Unix (1973) coletada pelo próprio Dennis Ritchie, ela contém a linha:

atoi(III): convert ASCII to integer

Na verdade, mesmo as páginas do manual da primeira edição do Unix (cerca de 1971) são listadas atoicomo significando Ascii to Integer .

Portanto, mesmo que não haja nenhuma documentação mais oficial do que páginas de manual indicando que atoisignifica Ascii to Integer ( suspeito que haja e não consegui localizá-la), é Ascii to Integer por convenção pelo menos desde 1971.


5
Ah, claro, uma sigla fora do padrão AsciiTOInteger. Quem dá nome a essas coisas !? Pior ainda é que não há itoafunção padrão para o reverso, apenassprintf
Earlz

1
O Manual Unix 1979 Versão 7 conta como uma fonte oficial? cm.bell-labs.com/7thEdMan/vol1/man3.bun
msw

1
Acho que as páginas do manual são tão oficiais quanto parece. Eu esperava que fosse declarado em um dos padrões, pelo menos, mas não é no projeto de padrão C99 que eu tenho ...
Mark Rushakoff

8
@Earlz - Essas coisas foram nomeadas quando os linkers suportavam apenas seis caracteres significativos por identificador. Vá ler sua história e não seja tão sarcástico.
Heath Hunnicutt

1
Com o nome errado, pois assim que C chegasse às máquinas IBM, suas implementações da função teriam convertido EBCDIC para inteiro :-)
Steve Jessop

-2

Acredito tristemente que a função atoi significa ascii para inteiro.


1
Isso não fornece uma resposta para a pergunta. Você pode pesquisar perguntas semelhantes ou consultar as perguntas relacionadas e vinculadas no lado direito da página para encontrar uma resposta. Se você tiver uma pergunta relacionada, mas diferente, faça uma nova pergunta e inclua um link para esta para ajudar a fornecer contexto. Veja: Faça perguntas, obtenha respostas, sem distrações
Filnor

2
Explique qual é o valor agregado desta resposta em comparação com aquela muito mais antiga e votada positivamente, que começa com exatamente as mesmas informações e depois continua explicando com referências aparentemente muito aplicáveis. Tente evitar a impressão de que acabou de copiar o conteúdo principal na esperança de votos positivos em sua resposta. Como observação lateral, o que significa "tristemente" e como você aplica esse termo a essa situação?
Yunnosch
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.