Ok gracias, de echo lo que yo estoy haciendo es un programa para convertir un binario a decimal pero tengo que saber separar en dígitos el numero binario, intentaré aplicar cosas de tu código y haber si queda .
Un saludo.
Un saludo.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCita de: AlbertoBSD en 21 Junio 2016, 05:33 AM
Es casi lo mismo solo se sustitullenas operaciones.
El recorrimiento de bits es la division entre 2 y el & e el modulo.
Aqui esta el codigo:char *binario(unsigned int n){
static char b[33];
int i =0, temp;
whilen( n > 0){
temp = n %2;
if(temp==1){
b[i] = '1';
}
else{
b[i] = '0';
}
n = (int) n/2;
i++;
}
b[i] = '\0';
return b;
}
Saludos.
Cita de: AlbertoBSD en 21 Junio 2016, 04:19 AM
Dejare esto por aqui:
Saludos
Cita de: engel lex en 21 Agosto 2015, 20:33 PM
ciclo infinito, desbordaste la variable en las primeras 32 rondas, la memoria volvió a 0 y 2*0 = 0
si lo guardas en un archivo o detienes la consola muy rapido verásIntroduzca -1 para comenzar: -1
2
4
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536
131072
262144
524288
1048576
2097152
4194304
8388608
16777216
33554432
67108864
134217728
268435456
536870912
1073741824
-2147483648
0
0
0
0
0
#include <stdio.h>
int main(){
int dos = 1,n;
printf( "Introduzca -1 para comenzar: ");
scanf( "%d", &n );
if ( n == -1 ){
while ( n == -1 ){
dos *= 2;
printf( "%d\n", dos );
}
}
return 0;
}