Pular para o conteúdo

Túnel do Tempo: a função itoa()

Em uma discussão no fórum de Programação em C e C++ do Viva o Linux, seu proponente perguntava acerca da função itoa(), desejoso de compreender seu funcionamento. Julguei interessante transportá-la, com algumas melhorias, para este espaço, até porque aqui posso fazer algo que não posso fazer naquele fórum, que é dar um exemplo explícito da implementação com código fonte em C.
Paulo paulo1205
Hits: 19.134 Categoria: C/C++ Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Apresentação do problema

Lá pelos idos de 2013, um usuário do Viva o Linux postou na comunidade "C / C++" mais ou menos a seguinte questão (texto ligeiramente alterado para manter apenas as partes relevantes):

Estou estudando C com um amigo virtual, através da Internet. Ele pediu para fazer um programa para converter números de decimal para binário. Fiz o programa, pegando exemplos da Net com a função itoa(), mas a única coisa que eu aprendi sobre itoa() é que ela converte o número.

Queria saber mais, como ele funciona, pois não acho legal eu passar o código para ele e não saber como funciona, né?

Eis é o código.

#include <stdio.h> #include <stdlib.h> int main(void){ int num; char binario[10]; printf("Digite o número decimal: "); scanf("%d", &num); itoa(num, binario, 2); printf("O número %d em binário é %s. ", num, binario); return 0; }
As páginas apresentam a resposta à dúvida do nosso amigo, e discutem, de passagem, alguns problemas com a função itoa() que ele usou no seu programa, apresentando uma versão ligeiramente melhor.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Apresentação do problema
   2. A implementação da itoa() do antigo Turbo C (e seus problemas)
   3. Alguns conceitos para a implementação da função
   4. Algoritmo para formação do numeral a partir do valor do número
   5. "my_itoa()", uma implementação segura de conversão de número em string
   6. Variações de "my_itoa()"
   7. Conclusão
Nenhum artigo encontrado.

Tutorial OpenGL v2.0

Como aprender a programar e produzir aplicativos usando Euphoria

Aprendendo a utilizar o GNU Debugger (parte 1)

Criando um sistema operacional com ASM e C++

Programando com uma granada de mão: uma visão da linguagem C

#1 Comentário enviado por uNclear em 19/06/2017 - 01:55h
ótimo artigo, quando tiver tempo vou fazer alguns testes
#2 Comentário enviado por uilianries em 19/06/2017 - 11:23h
Muito bem detalhado. Parabéns pelo conteúdo, Paulo.
#3 Comentário enviado por Nick-us em 01/03/2019 - 20:08h
Valeu a pena ler e guardar! informação nunca é demais!

Contribuir com comentário

Entre na sua conta para comentar.