ADDITIONNER le nombre de bits d'un mot à 1

  • SOUSTRE
    SOUSTRE

    le 10/05/2017 à 11:50 Citer ce message

    Bonjour ,

    Voici une demande provenant d'une hiérarchie en soif d'innovation !!!!!!!! :

    Déterminer le nombre de booléens vrais sur un mot de 16, et l'afficher sur 2 digits.

    Toutes les solutions sont les bienvenus , ( circuit électronique, code informatique ou automate ..... )

  • SOUSTRE
    SOUSTRE

    le 11/05/2017 à 16:39 Citer ce message


    Bonjour , qu'en dites vous ?

    VAR_TEMP
    Cpt_Loop : INT ;
    END_VAR
    BEGIN
    NETWORK
    TITLE =Comptage nombre de bits à 1

    // Charger la premiere adresse d'entrée
    // sur l'adresse de registre 1

    L P#90.0;
    LAR1 ;

    // Positionner le compteur de boucles
    // pour 16 Bits

    L 16;
    LOOP: T #Cpt_Loop;

    // Lire l'etat de l'entrée
    // Saut si = 0

    U E [AR1,P#0.0];
    SPBN CPTB;

    // Incrementer de 1 le nombre de bits

    L 1;
    L "Nb_Bits_0_15";
    +I ;
    T "Nb_Bits_0_15";

    CPTB: NOP 0;

    // Lire l'adresse de registre 1
    // Incrementer de 0.1
    // Charger l'adresse de registre 1 incrementée

    TAR1 ;
    L P#0.1;
    +I ;
    LAR1 ;

    L #Cpt_Loop;
    LOOP LOOP;
  • automationsense
    automationsense
    Modérateur
    Automaticien vétéran

    483 messages
    Inscrit le 28/04/2016

    le 13/05/2017 à 17:29 Citer ce message

    Bonjour voici un extrait de code en langage C :

    unsigned int countSetBits(unsigned int n)
    {
    unsigned int count = 0;
    while(n)
    {
    count += n & 1;
    n >>= 1;
    }
    return count;
    }

    /* Program to test function countSetBits */
    int main()
    {
    int i = 9;
    printf("%d", countSetBits(i));
    getchar();
    return 0;
    }
    Cordialement,
    Image

    " Travailles pour tes propres rêves sinon quelqu'un d'autres t'embauchera pour réaliser les siens "

Répondre à ce message

7 choses à savoir si Tu débutes en automatisme...

7 choses que tu dois savoir si tu debutes en automatismeCliquez ici pour télécharger le guide PDF

Superv 3