476. Complément numérique
Difficulté :Facile
Sujets : Manipulation des bits
Le complément d'un entier est l'entier que vous obtenez lorsque vous retournez tous les 0 en 1 et tous les 1 en 0 dans sa représentation binaire.
- Par exemple, L'entier 5 est "101" en binaire et son complément est "010" qui est l'entier 2.
Étant donné un nombre entier, renvoie son complément.
Exemple 1 :
-
Entrée : num = 5
-
Sortie : 2
-
Explication : La représentation binaire de 5 est 101 (pas de bits zéro en tête) et son complément est 010. Vous devez donc sortir 2.
Exemple 2 :
-
Entrée : num = 1
-
Sortie : 0
-
Explication : La représentation binaire de 1 est 1 (pas de bits zéro en tête) et son complément est 0. Vous devez donc afficher 0.
Contraintes :
Remarque : Cette question est la même que 1009. Complément de l'entier en base 10
Solution :
Nous devons inverser les bits de la représentation binaire d'un entier donné et renvoyer l'entier résultant.
Étapes pour résoudre le problème :
- Convertissez le nombre en sa représentation binaire.
-
Inversez les bits (c'est-à-dire changez 0 en 1 et 1 en 0).
-
Convertissez la chaîne binaire inversée en un entier.
Implémentons cette solution en PHP : 476. Complément numérique
Explication:
-
decbin($num) : convertit l'entier donné en sa représentation sous forme de chaîne binaire.
-
Inverser les bits : Nous parcourons la chaîne binaire et retournons chaque bit en vérifiant s'il s'agit d'un 1 ou d'un 0.
-
bindec($flipped) : reconvertit la chaîne binaire inversée en un entier.
Exemples d'exécutions :
-
Entrée :5
- Représentation binaire : "101"
- Binaire inversé : "010"
- Sortie : 2
-
Entrée :1
- Représentation binaire : "1"
- Binaire inversé : "0"
- Sortie : 0
Cette solution calcule efficacement le complément en retournant les bits de la représentation binaire du nombre donné.
Liens de contact
Si vous avez trouvé cette série utile, pensez à donner une étoile au référentiel sur GitHub ou à partager la publication sur vos réseaux sociaux préférés ?. Votre soutien signifierait beaucoup pour moi !
Si vous souhaitez du contenu plus utile comme celui-ci, n'hésitez pas à me suivre :
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!
Déclaration: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