


Ajustez les longueurs de représentation binaire de deux nombres pour qu'elles soient égales, puis effectuez une opération XOR
XOR, ou OU exclusif, est une opération logique booléenne utilisée pour générer des bits de parité pour la vérification des erreurs, la tolérance aux pannes, etc. Différents symboles sont utilisés pour représenter cette opération : ^, ⊕, ⊻, etc.
Logique XOR
L'opération XOR n'est vraie que si les deux paramètres sont différents. En d’autres termes, le XOR des mêmes bits est 0 et le XOR des différents bits est 1.
Mêmes morceaux -
0^0=0
1^1=0
Différents morceaux −
0^1=1
1^0 = 1
Énoncé du problème
Étant donné deux nombres a et b, trouvez leur XOR après avoir égalisé les longueurs de leurs représentations binaires.
Astuce - En ajoutant un zéro final après le plus petit nombre, la représentation binaire deviendra égale.
Exemple
Entrez -
a = 10, b = 5
Sortie-
0
Instructions
La représentation binaire de 10 est 1010 et la représentation binaire de 5 est 101.
Ajoutez le zéro final à 5 pour obtenir 1010.
Par conséquent, le résultat XOR de 1010^1010 est 0.
Par conséquent, sortie.
Entrez -
a = 15, b = 8
Sortie −
7
Instructions -
La représentation binaire de 15 est 1111 et la représentation binaire de 8 est 1000.
Étant donné que les deux représentations binaires sont de longueur égale, il n'est pas nécessaire d'ajouter des zéros à droite.
Le résultat XOR de1111 ^ 1000 est 0111, soit 7 en notation décimale. Le résultat est donc 7.
Entrez -
a = 15, b = 3
Sortie −
7
Instructions -
La représentation binaire de 15 est 1111. La représentation binaire de 3 est 11. La représentation binaire de 3, avec un zéro final, devient 1100.
Le résultat XOR de 1111^1100 est 0011.
0011 vaut 3 en représentation décimale. Par conséquent, le résultat est affiché.
Méthode
Comptez le nombre de chiffres dans deux nombres.
Le nombre de chiffres peut être calculé en décalant le nombre vers la droite jusqu'à ce qu'il devienne zéro et en comptant le nombre de fois que la boucle est exécutée. Décaler un nombre d’une case vers la droite équivaut à le diviser par 2.
Si le plus petit nombre a moins de chiffres, effectuez le décalage vers la gauche comme suit : plus petit_numéro
XOR deux nombres pour obtenir la réponse et l'imprimer.
pseudocode
main() Initialize a -> 15 and b -> 3. Function call find_xor(a,b); find_xor(int a, int b): c -> minimum of a and b. d -> maximum of a and b. count_c -> bit_count(c) count_d ->bit_count(d) If count_c < cound_d, then: c -> c << (count_d - count_c) Return c XOR d. bit_count(int x): count -> 0 while(x != 0): Increase the count by one. Right shift x by 1, i.e., divide it by 2. Return x.
Exemple
Vous trouverez ci-dessous un programme C++ permettant de calculer la valeur XOR de deux nombres après avoir rendu leurs représentations binaires égales en longueur.
#include <bits/stdc++.h> using namespace std; // Function to count the number of bits in binary representation // of an integer int bit_count(int x){ //Initialize count as zero int count = 0; //Count the bits till x becomes zero. while (x) { //Incrementing the count count++; // right shift x by 1 // i.e, divide by 2 x = x>>1; } return count; } //Function to find the XOR of two numbers. Trailing zeros are added to the number having a lesser number of bits to make the bits in both numbers equal. int find_xor(int a, int b){ //Store the minimum and maximum of both the numbers int c = min(a,b); int d = max(a,b); //Store the number of bits in both numbers. int count_c = bit_count(c); int count_d = bit_count(d); //If the number of bits in c is less, left shift if by the number of exceeding bits. if (count_c < count_d){ c = c << ( count_d - count_c); } return (c^d); } //Driver code int main(){ //Initialize a and b. int a = 15, b = 3; cout << "a = 15, b = 3" << endl; //Store the XOR of both the numbers after required computations //Function call int ans = find_xor(a,b); //Print the final result cout << "XOR of a and b: "<<ans<<endl; return 0; }
Sortie
a = 15, b = 3 XOR of a and b: 3
Analyse
Complexité temporelle - O(log n) [logarithme]
En raison de la boucle while dans la fonction count, la complexité temporelle est logarithmique.
Puisque ce nombre est divisé par deux jusqu'à devenir zéro, la complexité devient log n base 2.
Complexité spatiale - O(1) [Constante]
La complexité de l'espace est constante car aucun espace supplémentaire n'est utilisé dans le programme.
Conclusion
Dans cet article, nous avons discuté du problème du calcul du XOR de deux nombres après avoir rendu leurs représentations binaires de longueur égale.
Nous avons discuté du concept de XOR puis expliqué des exemples et des méthodes. Cette méthode utilise des zéros à droite pour égaliser le nombre de bits dans la représentation binaire. Nous avons également vu du pseudocode et un programme C++ pour le problème.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

L'arithmétique binaire est une méthode d'opération basée sur les nombres binaires. Ses opérations de base comprennent l'addition, la soustraction, la multiplication et la division. En plus des opérations de base, l'arithmétique binaire comprend également les opérations logiques, les opérations de déplacement et d'autres opérations. Les opérations logiques incluent AND, OR, NOT et d'autres opérations, et les opérations de déplacement incluent les opérations de décalage vers la gauche et vers la droite. Ces opérations ont des règles et des exigences d’opérandes correspondantes.

EDVAC présente deux améliorations majeures : l'une est l'utilisation du binaire et l'autre est l'achèvement du programme stocké, qui peut automatiquement passer d'une instruction de programme à la suivante, et ses opérations peuvent être automatiquement complétées par des instructions. Les « instructions » incluent les données et les programmes qui sont entrés dans le dispositif de mémoire de la machine sous forme de codes, c'est-à-dire que le même dispositif de mémoire qui stocke les données est utilisé pour stocker les instructions permettant d'effectuer des opérations. -appelés programmes stockés.

Les nombres binaires sont représentés par des 1 et des 0. Le système numérique hexadécimal 16 bits est {0,1,2,3…..9,A(10),B(11),…F(15)} afin de convertir la représentation binaire en hexadécimal Représente que le bit L'ID de chaîne est regroupé en morceaux de 4 bits, appelés quartets en commençant par le côté le moins significatif. Chaque bloc est remplacé par le nombre hexadécimal correspondant. Voyons un exemple pour bien comprendre la représentation des nombres hexadécimaux et binaires. 001111100101101100011101 3 E 5 Chambres d'hôtes

Comment lire des fichiers binaires dans Golang ? Les fichiers binaires sont des fichiers stockés sous forme binaire contenant des données qu'un ordinateur peut reconnaître et traiter. Dans Golang, nous pouvons utiliser certaines méthodes pour lire des fichiers binaires et les analyser dans le format de données souhaité. Ce qui suit présentera comment lire des fichiers binaires dans Golang et donnera des exemples de code spécifiques. Tout d’abord, nous devons ouvrir un fichier binaire à l’aide de la fonction Open du package os, qui renverra un objet fichier. Ensuite, nous pouvons faire

Les principales raisons pour lesquelles les ordinateurs utilisent des systèmes binaires : 1. Les ordinateurs sont composés de circuits logiques. Les circuits logiques n'ont généralement que deux états, l'interrupteur est activé et désactivé, et ces deux états peuvent être représentés par « 1 » et « 0 » ; Seuls deux nombres, 0 et 1, sont utilisés dans le système binaire, ce qui est moins sujet aux erreurs lors de la transmission et du traitement, garantissant ainsi une grande fiabilité de l'ordinateur.

Titre : Apprenez facilement à convertir de l'hexadécimal en binaire en langage Go. Des exemples de code spécifiques sont nécessaires. En programmation informatique, des opérations de conversion entre différents nombres de base sont souvent impliquées. Parmi eux, la conversion entre hexadécimal et binaire est relativement courante. Dans le langage Go, nous pouvons réaliser une conversion hexadécimale en binaire grâce à quelques exemples de code simples. Apprenons ensemble. Tout d’abord, jetons un coup d’œil aux méthodes de représentation hexadécimale et binaire. L'hexadécimal est une méthode de représentation des nombres, utilisant 0-9 et A-F pour représenter 1.

Il n'y a pas de limite fixe à la longueur d'un tableau en PHP, elle peut être ajustée dynamiquement en fonction de la taille de la mémoire du système. En PHP, un tableau est une structure de données très flexible qui peut stocker n'importe quel nombre d'éléments, et chaque élément peut être une valeur de n'importe quel type, ou même un autre tableau. La limite de longueur des tableaux PHP dépend principalement de la taille de la mémoire du système et de la limite de mémoire de la configuration PHP. De manière générale, si la mémoire du système est suffisamment grande et que la limite de mémoire de PHP est suffisamment élevée, la longueur du tableau peut être très grande. Cependant, si votre système manque de mémoire ou

Les nombres négatifs sont représentés dans les ordinateurs en utilisant le complément à deux, c'est-à-dire que les nombres négatifs sont représentés par le complément à deux des nombres positifs.
