elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿Cómo separar un numero binario en digitos?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo separar un numero binario en digitos?  (Leído 9,944 veces)
Sherboc

Desconectado Desconectado

Mensajes: 10


elige siempre la opción más divertida 8)


Ver Perfil
¿Cómo separar un numero binario en digitos?
« en: 21 Junio 2016, 04:13 am »

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.


« Última modificación: 21 Junio 2016, 04:52 am por Sherboc » En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: ¿Cómo separar un numero binario en digitos?
« Respuesta #1 en: 21 Junio 2016, 04:19 am »

Dejare esto por aqui:



Saludos


En línea

Sherboc

Desconectado Desconectado

Mensajes: 10


elige siempre la opción más divertida 8)


Ver Perfil
Re: ¿Cómo separar un numero binario en digitos?
« Respuesta #2 en: 21 Junio 2016, 04:35 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  :-\.
« Última modificación: 21 Junio 2016, 04:38 am por Sherboc » En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: ¿Cómo separar un numero binario en digitos?
« Respuesta #3 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:

Código
  1. char *binario(unsigned int n){
  2.  static char b[33];
  3.  int i =0, temp;
  4.  whilen( n > 0){
  5.   temp = n %2;
  6.   if(temp==1){
  7.     b[i] = '1';
  8.   }
  9.   else{
  10.     b[i] = '0';
  11.   }
  12.   n = (int) n/2;
  13.   i++;
  14.  }
  15.  b[i] = '\0';
  16.  return b;
  17. }

Saludos.
En línea

Sherboc

Desconectado Desconectado

Mensajes: 10


elige siempre la opción más divertida 8)


Ver Perfil
Re: ¿Cómo separar un numero binario en digitos?
« Respuesta #4 en: 21 Junio 2016, 22:19 pm »

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:

Código
  1. char *binario(unsigned int n){
  2.  static char b[33];
  3.  int i =0, temp;
  4.  whilen( n > 0){
  5.   temp = n %2;
  6.   if(temp==1){
  7.     b[i] = '1';
  8.   }
  9.   else{
  10.     b[i] = '0';
  11.   }
  12.   n = (int) n/2;
  13.   i++;
  14.  }
  15.  b[i] = '\0';
  16.  return b;
  17. }

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!.
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: ¿Cómo separar un numero binario en digitos?
« Respuesta #5 en: 21 Junio 2016, 22:28 pm »

No te preocupes por preguntar lo de la matris es solo por si quieres guardar el valor.

Si lo que quieres es realizar cierta acción cuando se uno o cero entonces:

Código
  1. void binario(unsigned int n){
  2.  int i =0, temp;
  3.  whilen( n > 0){
  4.   temp = n %2;
  5.   if(temp==1){
  6.    //hacer algo si es uno
  7.   }
  8.   else{
  9.     //hacer algo si es cero
  10.   }
  11.   n = (int) n/2;
  12.   i++;
  13.  }
  14. }

Saludos
En línea

Sherboc

Desconectado Desconectado

Mensajes: 10


elige siempre la opción más divertida 8)


Ver Perfil
Re: ¿Cómo separar un numero binario en digitos?
« Respuesta #6 en: 22 Junio 2016, 22:08 pm »

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.
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: ¿Cómo separar un numero binario en digitos?
« Respuesta #7 en: 24 Junio 2016, 02:30 am »

Tu quieres entonces el proceso para pasar de Cadena Binaria a Entero?

Dejo aqui el codigo y un video adiconal:



Código
  1. /*
  2. Pasar una secuencia binaria (En forma de Cadena) a valor entero.
  3. - Potencias de 2
  4. - Retornar el valor entero
  5.  
  6. Twitter @albertoBSD
  7.  
  8. */
  9.  
  10. #include<stdio.h>
  11.  
  12. unsigned int binario_entero(char *binario);
  13.  
  14. int main() {
  15. printf("%i\n",binario_entero("0"));
  16. printf("%i\n",binario_entero("1"));
  17. printf("%i\n",binario_entero("11111111"));
  18. return 0;
  19. }
  20.  
  21. unsigned int binario_entero(char *binario) {
  22. unsigned int r = 0;
  23. int base2 = 1;
  24. int i = 0;
  25. while(binario[i] != '\0' && i < 32) {
  26. if(binario[i] == '1') {
  27. r =  r + base2;
  28. }
  29. base2 = base2 * 2;
  30. i++;
  31. }
  32. return r;
  33. }
  34.  

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Separar digitos de un numero
Programación C/C++
vaXy 6 36,434 Último mensaje 1 Diciembre 2012, 16:17 pm
por cypascal
Tengo una duda de como determinar los digitos de un número « 1 2 »
Programación C/C++
Felipe_Henriquez 13 35,566 Último mensaje 19 Agosto 2011, 04:22 am
por rir3760
Funcion Separar Digitos de un numero
Programación C/C++
Ja_90 3 7,261 Último mensaje 1 Octubre 2015, 01:21 am
por 0xFer
Separar un numero de 16 digitos
Programación C/C++
Miguelito 3 2,941 Último mensaje 5 Mayo 2019, 01:58 am
por K-YreX
Separar los dígitos impares de un numero con guion
Programación C/C++
dpn 2 4,240 Último mensaje 20 Agosto 2021, 21:02 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines