Kernel Error
Programacion

itoa y atoi

18 de Junio del 2009 por Kalith · 4 Comentarios 

Buenas.
Ya de alguna ocasión Llyn hablo sobre una de estas funciones, aca lo que traigo es una pequeña implentación que hice de ambas trabajando directamente con strings (std::string) y pues es un ejemplo también claro de como convertir enteros a cadenas y viceversa
Bueno sin mas largas dejo el código, requiere usar dos liberias que si bien son sustituibles facilmente pues por mi comodidad las dejo así

#include <algorithm>
#include <cmath>

using namespace std;

string __itoa(int number)
{
	string ret = "";

	for(; number > 0; number -= number % 10, number /= 10)
		ret += (char)((number%10) + 0x30);

	reverse(ret.begin(), ret.end());

	return ret;
}

int __atoi(string number)
{
	int ret = 0;

	for(int i = 0, j = number.length() - 1; number[i] != '\0'; ++i, --j)
		ret += (number[i] - 0x30) * pow(10, (static_cast<double> (j)));

	return ret;
}

saludos, espero que sea util

Compartelo:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Meneame
  • MySpace

Comentarios

4 Respuestas to “itoa y atoi”
  1. FeCr_88 FeCr_88 dice:

    Es tan largo como lo que dura un peo en un chinchorro xD… Pero lo bueno, es que es pequeño pero interezante… JAJAJAJ SONO GAY =*

    Usando Unknown Unknown en Unknown Unknown
  2. CeRc CeRc dice:

    aunq para mi seria mas facil el __atoi usando sstream algo asi

    #include
    #include
    using namespace std;

    int __atoi(string number){
    int outp;
    istringstream tmp;
    tmp.str(number);
    tmp >> outp;
    return outp;
    }

    Usando Unknown Unknown en Unknown Unknown
  3. FeCr_88 FeCr_88 dice:

    Ademas.. Se que hacer pornos es dificil. Pero intenta explicar porque las funciones funcionan para saber funcionar las funciones -.-’. xD…

    Usando Unknown Unknown en Unknown Unknown
  4. b@cHo b@cHo dice:

    como siempre :P (broma)

    Usando Unknown Unknown en Unknown Unknown

Comenta algo

Comparte tu opinión...
Ah si... también si quieres mostrar una imagen tuya puedes usar gravatar!





BBCode Sencillo soportado.  

    Edición Avanzada desactivada.

Kernel Error
97 intentos de ataques detenidos