Ayuda con esta funcion

Iniciado por gold oscar, 2 Noviembre 2016, 18:49 PM

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

engel lex

No se están imprimiendo los bits en 1... se están imprimiendo los char que contienen el número 1

Si por ejemplo le pasas 'A' debería retornar 1, ya que esa letra en ascii es 64 (01000000) , los char pueden ser tratados como números , por eso todo lo que te dije de las operaciones binarias
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

gold oscar

entonces como debo hacerlo, porque la verdad es que se me ocurrio eso solo.

engel lex

Cita de: engel lex en  2 Noviembre 2016, 20:31 PM
El char sabemos que tiene 8 bits, la forma más simple es usando & y >> para ir leyendo bit a bit en un for

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

gold oscar

pero no se como plantear eso en el programa

engel lex

un ejemplo de conversión a binario

#include <stdio.h>
void PrintInBinary( unsigned int decNum )
{

    unsigned int bit;

    for( bit = 0; bit < 8; bit ++) {

        printf( "%c", decNum & bit ? '1' : '0' );
        decNum >> 1;
    }
    printf("\n");

}
int main(void) {
PrintInBinary(126);
return 0;
}
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

gold oscar

Pero ahi me pide que indique la cantidad de unos que hay

engel lex

ya te mostré como convertir a binario... piensa que hay que cambiar y has tu funcion


Cita de: gold oscar en  3 Noviembre 2016, 01:37 AM
Ya se todo lo de operadores de bits, lo que no se es como hacer el ejercicio que postee, si alguien aunque sea me ayuda a comenzarlo......

me indicas que sabes todo de operadores de bit... es simple
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.