ADDITIONNER le nombre de bits d'un mot à 1
-
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 ..... )
-
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; -
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;
}
Répondre à ce message