Menú

Mostrar Mensajes

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ú

Mensajes - Sherboc

#1
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.
#2
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.

Ya le entendí a tu código bro jaja, nada mas que lo que yo ando buscando es hacer lo de la separación y lo de cambios de bits sin usar "arreglos o matrices" . Solo con while, if, else y operadores de división. Pero pues me pondré a investigar más para no molestar preguntando tanta cosa.

Un saludo!.
#3
Cita de: AlbertoBSD en 21 Junio 2016, 04:19 AM
Dejare esto por aqui:


Saludos

Gracias pero no es como necesito el programa  :xD, lo debo de hacer con los operadores de división y modulo ya que la programación del video es más avanzada  :-\.
#4
Hola a todos,  eh estado investigándolo pero no averiguo como puedo separar un numero binario en sus dígitos, tengo entendido que debo de usar los operadores de división y de módulo pero no se como...Lo necesito saber para que pueda terminar un programa en C para convertir un num binario a decimal, y por eso quiero que me digan desde sus conocimientos como podría separar el numero.

De ante mano, gracias por la atención.
#5
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ás

Introduzca -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


Muchas gracias sr. moderador e.e (sin ofender), también yo sabia que esos no eran múltiplos de dos pero como así lo decía mi libro pues solo seguí la corriente xD SALUDOS
#6
Programación C/C++ / Programa "Multiplos de 2"
21 Agosto 2015, 20:23 PM

Hola...Pregunta ¿Por qué al ejecutar este código imprime solo ceros?.


#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;
}


Solo es un ejercicio que se tiene que imprimir los múltiplos de 2 pero en un "ciclo infinito" y quisiera saber porque solo imprime 0 :), saludos. 
#7
Disculpa x la segunda publicación es que me equivoque y ya no lo pude

borrar...Gracias de nuevo por la explicación ahora ya lo tengo claro todo, no

entendía que se le tenia que dar el valor de mayor a segundo porque este tenia

que encontrar un numero igual de grande que mayor pero sin arre vasar

a "mayor" y por eso se le tiene que dar este valor para después ver si hay otro

segundo valor más grande :).

Que andes de lo mejor.
#9
 Muchas gracias por todo compañero ;D, ya lo entendí más. Pero no me queda claro lo de:

 "segundo = mayor"

Porque se supone que a la variable "segundo" ya se le a dado un valor inicial de 0,

osea por que  no me encuentra el segundo mayor valor sin poner esto? para

que decirle al compilador que le vuelva a dar el valor de "mayor" que es cero o

el valor seria el mayor numero que se encontró. Por ejemplo de 3 números

como 1, 2 y 3 se le daría el valor de 3 a "segundo"?? espero que me explique

bien y que entiendas la duda... saludos también

#10

Hola amigo  :P, necesito una explicación sobre este programa porfa!...Lo que paso es que yo no podia que me diera el segundo mayor numero y solo puse lo de tu código y listo quedo,  pero no entendí el como te encontró ese numero! :(.

Mi duda es en esto:

segundo = mayor;  /*Osea porque dices que es igual a mayor (lo que yo entiendo es que segundo entonces seria igual a 0 no??) */

else if ( numero > segundo )

segundo = numero;

/*Luego como hace esto para encontrar que el numero sea menor que el mayor y mayor a todos los demás números?)

Espero y me puedas dar una explicación clara de eso o aunque sea un Link que lo explique bien...saludos cordiales