Hola, estoy volviendo a coger el C++ y me propuse a hacer unos ejercicios de los típicos que ponen para practicar, pero con éste me he tomado ya mucho tiempo y me parece curioso que me este retornando una suma de forma incorrecta.
¿Porque sucede ésto? Pruebo con el número 24 y me da de salida:
BIN = 10999
<--- debería dar 11000
OCT = 30
Código C++:
Ver original#include <iostream>
#include <math.h>
using namespace std;
int xtoy(int x, int y){
int res = 0;
int c = 0;
for(int i = x; i > (y-1); x=int(i/=y), c++){
}
return res;
}
int main(int argc, char **argv)
{
int n;
puts("CONVERSOR DE DECIMAL A: BIN Y OCT"); puts("============================================================="); cout<<"Ingrese un numero: ";
cin>>n;
cout<<"BIN= "<<xtoy(n, 2)<<endl;
cout<<"OCT= "<<xtoy(n, 8)<<endl;
return 0;
}
(Más info por si las moscas): Utilizo el Code::Blocks que utiliza el "mingw32-g++.exe" para compilar.