ayuda en c

Iniciado por spicy_eyes, 9 Septiembre 2017, 15:47 PM

0 Miembros y 1 Visitante están viendo este tema.

spicy_eyes

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!

AlbertoBSD

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.

char convertido[10];
int conincidencias = 0;
sprintf(convertido,"%X",numero);

int i = 0;
while(convertido[i] != 0 ){
if(convertido[i] == 'f' || convertido[i] == 'F')
  conincidencias++;
i++;
}
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW