Por ejemplo, le doy 4 como valor principal y me devuelve 001, lo cual esta "bien" por que el valor binario de 4 es 100, lo que tengo es que reordenar los valores, para ordenarlo intento hacer un array pero tienen comportamientos demasiado caoticos, por ejemplo, me imprime direcciones de memoria, me imprime numeros que para mi son aleatorios y así, este es el codigo que tengo:
Código:
#include <iostream>
using namespace std;
int main(){
int n = 4;
int count=0;
int n_bin[8];
while(n != 0){
int m = n%2;
n = n/2;
count++;
n_bin[count]=m;
for(int i=8;i!=0;i--){
cout << n_bin[i];
}
}
}
P.S: Lo he intentado de otros modos y me sale el binario pero con un monton de 0's y 1's y no le veo el sentido, este es el otro codigo que he intentado usar:
Código:
#include <iostream>
using namespace std;
int main(){
int n = 4;
int byte = 8;
int n_bin[byte];
while(n != 0){
int m = n%2;
n = n/2;
for(int i=0;i<8;i++){
byte--;
n_bin[byte] = m;
cout << n_bin[byte];
}
}
}
Y mi ultima aberración (esta es la que imprime la direccion de la memoria):
Código:
#include <iostream>
using namespace std;
int main(){
int n = 4;
int byte = 8;
int n_bin[byte];
while(n != 0){
int m = n%2;
n = n/2;
n_bin[byte] = m;
cout << n_bin;
}
}
En:
Código:
cout << n_bin
Código:
cout << *n_bin
Si alguien pudiera hecharme una mano le agradecería mucho. ^^





Autor


En línea


ya me sale el codigo pseudo-ordenado, solo tuve algunos errores, por ejemplo al crear un arreglo de 7 digitos me saltaba violacion del segmento, pero lo solucione volviendo a colocar 8, cambie el ciclo while por un for, simplifique un poco el codigo y hize un contador decreciente pero ahora en vez de dar 00000100 me da 100000010, el codigo es...
