Maison  >  Article  >  développement back-end  >  . Complément numérique

. Complément numérique

WBOY
WBOYoriginal
2024-08-23 06:35:11493parcourir

. Number Complement

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 :

  • 1 <= num < 231

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 :

  1. Convertissez le nombre en sa représentation binaire.
  2. Inversez les bits (c'est-à-dire changez 0 en 1 et 1 en 0).
  3. 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 :

  1. Entrée :5

    • Représentation binaire : "101"
    • Binaire inversé : "010"
    • Sortie : 2
  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 :

  • LinkedIn
  • GitHub

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