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.
[ Hits: 16.956 ]
Por: Paulo em 14/06/2017 | Blog: http://unixntools.blogspot.com.br/
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.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.
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; }
Aprendendo a utilizar o GNU Debugger (parte 1)
Criando programas com suporte a arquivos de configuração com a libConfuse
Criação e uso de um interpretador de script BrainFuck em C++
Substituindo a biblioteca conio.h no Linux usando ncurses curses.h
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Será que eu deveria apreender C/C++ para desenvolver para Linux? (4)