¿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; 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.