Maison > développement back-end > C++ > Programme C/C++ : compter le nombre de chiffres définis dans un entier ?

Programme C/C++ : compter le nombre de chiffres définis dans un entier ?

王林
Libérer: 2023-08-26 18:57:12
avant
1306 Les gens l'ont consulté

Programme C/C++ : compter le nombre de chiffres définis dans un entier ?

Compter les bits définis signifie compter les 1 pour un entier donné. Pour cela, nous avons plusieurs solutions qui peuvent être appliquées. Dans ce cas, nous avons un nombre binaire (représentation binaire d'un entier), pour lequel il faut compter le nombre de 1 dans la chaîne.

Pour compter le nombre de 1, nous obtiendrons la chaîne, parcourrons chaque élément et compterons le nombre de tous les 1 dans la chaîne. Par exemple, si nous saisissons 17, le résultat sera 2 car la représentation binaire de 17 est 10001, qui contient deux 1.

Input: Enter a positive integer: 6
Output: 2
Copier après la connexion

Explication

La représentation binaire de 6 est 110, qui a 2 bits définis

Cette méthode d'itération nécessite une itération pour chaque bit. Il parcourt tous les chiffres du numéro. L'itération se termine lorsqu'aucun bit n'est défini. Dans le pire des cas, il effectuera une boucle de 32 itérations pour un mot de 32 bits avec uniquement le bit le plus significatif défini. Cette solution est la plus simple et est utile si les 1 sont rares et dans les bits les moins significatifs.

Exemple

#include <stdio.h>
int main(void) {
   unsigned int n = 34;
   for (c = 0; n; n >>= 1) {
      c += n & 1;
   }
   printf("%d\n", c);
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal