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)
| | |-+  ayuda en c
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda en c  (Leído 1,477 veces)
spicy_eyes

Desconectado Desconectado

Mensajes: 1


Ver Perfil
ayuda en c
« en: 9 Septiembre 2017, 15:47 pm »

hola recién empiezo con el lenguaje c tengo un problema que la verdad no se como resolverlo , me dan un numero de 16 bits que se declara al inicio y me piden la cantidad de unos que tiene el numero en binario y de fs en hexadecimal. Tengo entendido que en el ccs te facilita las bases por lo que no es necesario crear un programa que transforme el numero . ademas quisiera saber ¿ como decido que base usar si tengo un numero ya declarado ?
gracias!


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: ayuda en c
« Respuesta #1 en: 9 Septiembre 2017, 16:39 pm »

Tienes que dejarar un buffer para almacenar el numero convertido a Base Binario y a Base Hexadecimal, posteriormente en el buffer contar las letras que te piden, las F para el Hexadecimal y los 1 para el binario. Recorres el Buffer de inicio a FIn y con cada coincidencia Incrementas un contador, posteriormente imprimes el contardor

Ejemplo para Hexadecimal.

Código
  1. char convertido[10];
  2. int conincidencias = 0;
  3. sprintf(convertido,"%X",numero);
  4.  
  5. int i = 0;
  6. while(convertido[i] != 0 ){
  7. if(convertido[i] == 'f' || convertido[i] == 'F')
  8.  conincidencias++;
  9. i++;
  10. }


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines