Transformar numero de base n a base k
Buenas.
Realmente lo que trata este post es poder transformar un número en cualquier base a cualquier otra base siempre que estas bases no sean mayor a 16, hace tiempo en un viaje venía hablando con Llyn sobre ello, el trabajaba en algo a mayor escala, puesto que si no mal recuerdo los numeros de bases no tenia limitaciones.
Realmente hice esto pues por este problema en la uva que lo ameritaba, que fue lo que hice? lleve el numero en la base que me daban a una base en la cual se trabajar (decimal) y luego de esa base lo llevaba a la base que me pedían, con fines didacticos separe el problema en dos mas pequeños la parte en la que se lleva de la base dada a decimal y luego de decimal a la base pedida, pero tranquilamente se puede hacer en una misma pasada.
Sin mucho mas que añadir presento las dos funciones y un ejemplo de su uso:
inline string decimal_to_n_base(long long n, int base){
string s = "";
const char* _t = "0123456789ABCDEF";
do s = _t[n % base] + s, n /= base; while(n);
return s;
}
inline long long n_base_to_decimal(string s, int base){
int _p;
long long n = 0;
for(size_t i = 0, h = s.size(); i < s.size(); ++i){
'0' <= s[i] && s[i] <= '9' ? _p = s[i] - '0' : _p = s[i] - '7';
n += pow(static_cast<double>(base), static_cast<double>(--h)) * _p;
}
return n;
}
un pequeño ejemplo llevar el numero 265 de base 8 a base 15 seria C1
y la forma de usarlo:
cout << decimal_to_n_base(n_base_to_decimal("265", 8), 15) << endl;
pues a los interesados la solucion del problema de la uva es esta.
saludos.
Posts Relacionados
- Suma de dos números en base ‘n’ Tenemos dos números como cadena de caracteres, ambas en la...
- Convertir numero negativo a positivo en PHP Lo que es no tener nada que hacer… Ejemplo de...
- Cargar un comboBox desde la base de datos en csharp Buenas. Seguimos un poco en la onda de .NET, veamos...
Menciones/Notificaciones
- plus size clothing wholesale - in your own words, and perhaps spice... it up to make it interesting to the readers. that way you can become ...



Pinche Mamey :D… siempre con tus cosas matematicas y Llyn con vergas arameas… :| Pinches matematicos. :D… Saludos, toy full :S… malvada sea ser viejo y trabajar…
Usando